Ultraschall Internals Documentation Reaper Internals Documentation Downloads Changelog of documentation Impressum and Contact
Ultraschall-logo Functions Engine GFX Engine GUI Engine Video Engine Audio Engine Doc Engine  
  Introduction/Concepts      Concepts      Concepts      Concepts      Concepts      Concepts
           Functions      Functions       Functions       Functions       Functions       Functions 



4.2.003 - "Georg Friedrich Händel - Sarabande" - 15th of January 2021 - Build: 43522

The Functions Reference

To add the API to your script after installing it, just add


        dofile(reaper.GetResourcePath().."/UserPlugins/ultraschall_api.lua")
      
as first line into your script.

For more details, read the docs in the Introduction and Concepts-area of this page.

API-Helper functions

ActionsList_GetAllActionsActionsList_GetSelectedActionsBenchmark_GetAllStartTimesAndSlotsBenchmark_GetStartTime
Benchmark_MeasureTimeBringReaScriptConsoleToFrontCharacterCodes_ReverseLookupCharacterCodes_ReverseLookup_KBIni
CheckActionCommandIDFormatCheckActionCommandIDFormatCheckActionCommandIDFormat2ConvertFunction_FromBase64String
ConvertFunction_FromHexStringConvertFunction_ToBase64StringConvertFunction_ToHexStringCreate2DTable
Create3DTableCreateMultiDimTableFloatCompareFromClip
GetAllActionsGetApiVersionGetOSGetReaperAppVersion
GetReaperColorThemesPathGetReaperJSFXPathGetReaperScriptPathGetReaperWebRCPath
GetScriptFilenameFromActionCommandIDGmem_GetCurrentAttachedNameIsItemInTrackIsItemInTrack2
IsItemInTrack3IsOS_MacIsOS_OtherIsOS_Windows
IsObjectValidReaperObjectIsValidGuidIsWithinTimeRangeKBIniGetAllShortcuts
LoadFunctionFromExtStateMakeFunctionUndoableOpenURLPingMe
PreventCreatingUndoPointPrintProgressBarRefreshToolbar_ActionResetProgressBar
ReturnTypeOfReaperObjectReturnsMinusOneInCaseOfError_ArzalaRunBackgroundHelperFeaturesRunCommand
RunLuaSourceCodeSetIntConfigVar_BitfieldStoreFunctionInExtStateTimeToMeasures
ToClipToggleStateActionToggleStateButtondeprecated
get_action_context_MediaItemDiffget_action_context_MediaItemDiffprintprint2
print3print_altprint_updatetoboolean
type  
Child Scripts
GetScriptIdentifierGetScriptIdentifier_DescriptionGetScriptIdentifier_TitleGetScriptParameters
GetScriptReturnvaluesGetScriptReturnvalues_SenderMIDI_OnCommandByFilenameMain_OnCommandByFilename
Main_OnCommand_LuaCodeSetScriptIdentifier_DescriptionSetScriptIdentifier_TitleSetScriptParameters
SetScriptReturnvalues  
Data Analysis
FindPatternsInString  
Data Manipulation
AddIntToCharBase64_DecoderBase64_EncoderCSV2IndividualLinesAsArray
CSV2LineCombineBytesToIntegerCompareArraysCompareStringWithAsciiValues
ConcatIntegerIndexedTablesConvertAscii2HexConvertBitsToIntegerConvertBitsToString
ConvertHex2AsciiConvertIntegerIntoString2ConvertIntegerToBitsConvertStringToAscii_Array
ConvertStringToBitsConvertStringToIntegersCountCharacterInStringCountEntriesInTable_Main
CountLinesInStringCountPatternInStringCycleTableDB2MKVOL
EscapeMagicCharacters_StringGetAllEntriesFromTableGetDuplicatesFromArraysGetPartialString
GetSetIntConfigVarIsValidMatchingPatternKeepTableEntriesOfTypeLimitFractionOfFloat
MKVOL2DBMakeCopyOfTableNotes2CSVRemoveTableEntriesOfType
ReplacePartOfStringReplacePatternInStringReturnTableAsIndividualValuesReverseEndianess_Byte
ReverseTableRoundNumberSearchStringInStringSecondsToTime
SecondsToTimeString_hh_mm_ss_mssSetBitfieldSplitIntegerIntoBytesSplitStringAtLineFeedToArray
SplitStringAtNULLBytesStateChunkLayouterTimeStringToSeconds_hh_mm_ss_mssTimeToSeconds
   
LiceCap
SetLiceCapExeSetupLiceCap 

API-Variables

API_TempPathApi_InstallPathApi_PathEuro
SeparatorStartTime 

Audio Management

GetHWInputs_AliasnamesGetHWOutputs_Aliasnames 

Automation Items

AutomationItem_DeleteAutomationItems_GetAllGetProject_AutomationItemStateChunkGetProject_CountAutomationItems
   

Clipboard Functions

GetMediaItemsFromClipboardGetStringFromClipboard_SWSPutMediaItemsToClipboard_MediaItemArray

Color Management

ApplyColorTableToItemColorsApplyColorTableToTrackColorsChangeColorBrightnessChangeColorContrast
ChangeColorSaturationConvertColorConvertColorFromMacConvertColorFromWin
ConvertColorReverseConvertColorToGFXConvertColorToMacConvertColorToWin
ConvertGFXToColorCreateColorTableCreateSonicRainboomColorTableIsValidColorTable
RGB2Grayscale  

Configuration Settings

Menus
GetSetConfigActionMenu  
Preferences: Advanced UI
GetSetConfigAlwaysAllowKBGetSetConfigAudioCloseTrackWnds 
Preferences: Audio
GetSetConfigAllStereoPairsGetSetConfigAudioCloseStop 
Preferences: Device
GetSetConfigAudioThreadPr  
Preferences: Media
GetSetConfigApplyFXTail  
Preferences: Mute/Solo
GetSetConfigAutoMuteGetSetConfigAutoMuteFlags 
Preferences: Project
GetSetConfigAutoSaveIntGetSetConfigAutoSaveMode 
Preferences: Recording
GetSetConfigAdjRecLatGetSetConfigAdjRecManLatGetSetConfigAdjRecManLatIn
Preferences: Video/REX/Misc
GetSetConfigAcidImport  
Project Settings: Media
GetSetConfigAfxCfg  
Recording
GetStartNewFileRecSizeStateSetStartNewFileRecSizeState 
Transport: Contextmenu
GetSetConfigAudioPrShift  

Configuration-Files Management

Ini-Files
CountIniFileExternalState_keyCountIniFileExternalState_secCountKeysByPatternCountSectionsByPattern
CountValuesByPatternEnumerateIniFileExternalState_keyEnumerateIniFileExternalState_secEnumerateKeysByPattern
EnumerateSectionsByPatternEnumerateValuesByPatternGetIniFileExternalStateGetIniFileValue
SetIniFileExternalStateSetIniFileValue 
Reaper-kb.ini
CountKBIniActionsCountKBIniKeysCountKBIniScriptsDeleteKBIniActions
DeleteKBIniKeysDeleteKBIniScriptsGetActionCommandIDByFilenameGetKBIniActions
GetKBIniActionsID_ByActionCommandIDGetKBIniFilepathGetKBIniKeysGetKBIniKeys_ByActionCommandID
GetKBIniScriptsGetKBIniScripts_ByActionCommandIDQueryKeyboardShortcutByKeyIDSetKBIniActions
SetKBIniKeysSetKBIniScripts 

Defer-Management

DeferGetDeferCycleSettingsGetDeferRunStateSetDeferCycleSettings
StopDeferCycle  

Developer

Error Handling
AddErrorMessageCountErrorMessage_FuncnameCountErrorMessagesDeleteAllErrorMessages
DeleteErrorMessageDeleteLastErrorMessageGetErrorMessage_FuncnameGetLastErrorMessage
GetLastErrorMessage2GetLastErrorMessage_FuncnameReadErrorMessageSFEM
SLEMShowErrorMessagesInReascriptConsoleShowLastErrorMessageSuppressErrorMessages
ToggleIDE_Errormessages  
Helper functions
APIExistsApiTestEditReaScriptRFR
RLRRRR 

Envelope Management

ActivateTrackPanEnvActivateTrackPanEnv_TrackObjectActivateTrackPreFXPanEnvActivateTrackPreFXPanEnv_TrackObject
ActivateTrackPreFXVolumeEnvActivateTrackPreFXVolumeEnv_TrackObjectActivateTrackTrimVolumeEnvActivateTrackTrimVolumeEnv_TrackObject
ActivateTrackVolumeEnvActivateTrackVolumeEnv_TrackObject 
Envelopes
GetAllTakeEnvelopesGetAllTrackEnvelopesGetTakeEnvelopeUnderMouseCursorGetTakeEnvelopeUnderMouseCursor
IsAnyMuteEnvelopeVisibleIsEnvelope_TrackIsTrackEnvelopeVisible_ArrangeView
Get Envelope States
GetArmState_EnvelopeGetEnvelopeState_ActGetEnvelopeState_DefShapeGetEnvelopeState_EnvName
GetEnvelopeState_LaneHeightGetEnvelopeState_NumbersOnlyGetEnvelopeState_PTGetEnvelopeState_PooledEnvInstance
GetEnvelopeState_VisGetEnvelopeState_Voltype 
Get Envelope
GetAllTrackEnvelopesGetClosestEnvelopePointIDX_ByTimeGetEnvelopePointGetEnvelopePointIDX_Between
GetLastEnvelopePoint_TrackEnvelope  
Helper functions
ActivateEnvelopeCheckEnvelopePointObjectCountEnvelopePointsCreateEnvelopePointObject
GetTrackEnvelope_ClickStateGetTrackEnvelope_ClickStateIsValidEnvStateChunkIsValidEnvelopePointArray
IsValidEnvelopePointObject  
Set Envelope States
SetArmState_EnvelopeSetEnvelopeState_ActSetEnvelopeState_DefShapeSetEnvelopeState_LaneHeight
SetEnvelopeState_Vis  
Set Envelope
AddEnvelopePoints_EnvelopePointArrayAddEnvelopePoints_EnvelopePointObjectDeleteEnvelopePoints_EnvelopePointArrayDeleteEnvelopePoints_EnvelopePointObject
MoveTrackEnvelopePointsBySetEnvelopeHeightSetEnvelopePoints_EnvelopePointArraySetEnvelopePoints_EnvelopePointObject
   

Event Manager

EventManager_AddEventEventManager_AddStartupEventEventManager_CountRegisteredEventsEventManager_CountStartupEvents
EventManager_DebugModeEventManager_DebugMode_UserSpaceEventManager_EnumerateEventsEventManager_EnumerateEvents2
EventManager_EnumerateStartupEventsEventManager_EnumerateStartupEvents2EventManager_GetEventIdentifierEventManager_GetLastCheckfunctionState
EventManager_GetLastCheckfunctionState2EventManager_GetLastUpdateTimeEventManager_GetPausedStateEventManager_GetPausedState2
EventManager_GetRegisteredEventIDEventManager_IsValidEventIdentifierEventManager_PauseEventEventManager_RemoveAllEvents_Script
EventManager_RemoveEventEventManager_RemoveStartupEventEventManager_RemoveStartupEvent2EventManager_ResumeEvent
EventManager_SetEventEventManager_SetStartupEventEventManager_StartEventManager_Stop
   

FX-Management

FXStateChunks
CountFXFromFXStateChunkCountFXStateChunksInStateChunkGetAllRFXChainfilenamesGetFXStateChunk
IsValidFXStateChunkLoadFXStateChunkFromRFXChainFileRemoveFXStateChunkFromItemStateChunkRemoveFXStateChunkFromTrackStateChunk
SaveFXStateChunkAsRFXChainfileSetFXStateChunk 
Get States
GetDocked_FXStateChunkGetFXBypass_FXStateChunkGetFXComment_FXStateChunkGetFXFloatPos_FXStateChunk
GetFXFromFXStateChunkGetFXGuid_FXStateChunkGetFXMidiPreset_FXStateChunkGetFXSettingsString_FXLines
GetFXWak_FXStateChunkGetLastSel_FXStateChunkGetShow_FXStateChunkGetTakeFXComment
GetTakeFX_AlternativeNameGetTrackFXCommentGetTrackFX_AlternativeNameGetWndRect_FXStateChunk
   
Helper functions
GetFocusedFXGetLastTouchedFXGetRecentFX
InputFX
InputFX_AddByNameInputFX_CopyFXInputFX_CopyFXFromTakeFXInputFX_CopyFXFromTrackFX
InputFX_CopyFXToTakeFXInputFX_CopyFXToTrackFXInputFX_DeleteInputFX_EndParamEdit
InputFX_FormatParamValueInputFX_FormatParamValueNormalizedInputFX_GetChainVisibleInputFX_GetComment
InputFX_GetCountInputFX_GetEQInputFX_GetEQBandEnabledInputFX_GetEQParam
InputFX_GetEnabledInputFX_GetFXChainInputFX_GetFXGUIDInputFX_GetFXName
InputFX_GetFloatingWindowInputFX_GetFormattedParamValueInputFX_GetIOSizeInputFX_GetNamedConfigParm
InputFX_GetNumParamsInputFX_GetOfflineInputFX_GetOpenInputFX_GetParam
InputFX_GetParamExInputFX_GetParamNameInputFX_GetParamNormalizedInputFX_GetParameterStepSizes
InputFX_GetPinMappingsInputFX_GetPresetInputFX_GetPresetIndexInputFX_GetUserPresetFilename
InputFX_MoveFXInputFX_MoveFXFromTakeFXInputFX_MoveFXFromTrackFXInputFX_MoveFXToTakeFX
InputFX_MoveFXToTrackFXInputFX_NavigatePresetsInputFX_QueryFirstFXIndexInputFX_SetEQBandEnabled
InputFX_SetEQParamInputFX_SetEnabledInputFX_SetFXChainInputFX_SetOffline
InputFX_SetOpenInputFX_SetParamInputFX_SetParamNormalizedInputFX_SetPinMappings
InputFX_SetPresetInputFX_SetPresetByIndexInputFX_Show
Parameter Mapping Alias
AddParmAlias_FXStateChunkCountParmAlias_FXStateChunkDeleteParmAlias2_FXStateChunkDeleteParmAlias_FXStateChunk
GetAllParmAliasNames_FXStateChunkGetParmAlias2_FXStateChunkGetParmAlias_FXStateChunkGetParmAlias_MediaTrack
SetParmAlias2_FXStateChunkSetParmAlias_FXStateChunk 
Parameter Mapping LFOLearn
AddParmLFOLearn_FXStateChunkCountParmLFOLearn_FXStateChunkDeleteParmLFOLearn_FXStateChunkGetParmLFOLearn_FXStateChunk
GetParmLFOLearn_MediaItemGetParmLFOLearn_MediaTrackSetParmLFOLearn_FXStateChunk
Parameter Mapping Learn
AddParmLearn_FXStateChunkCountParmLearn_FXStateChunkDeleteParmLearn2_FXStateChunkDeleteParmLearn_FXStateChunk
GetParmLearn_FXStateChunkGetParmLearn_MediaItemGetParmLearn_MediaTrackSetParmLearn_FXStateChunk
   
Parameter Modulation
AddParmMod_ParmModTableCountParmModFromFXStateChunkCreateDefaultParmModTableDeleteParmModFromFXStateChunk
GetParmModTable_FXStateChunkGetParmModulationChunk_FXStateChunkIsValidParmModTableSetParmMod_ParmModTable
   
Plugins
AutoDetectVSTPluginsFolderScanDXPluginsScanVSTPlugins
Set States
SetDocked_FXStateChunkSetFXBypass_FXStateChunkSetFXComment_FXStateChunkSetFXFloatPos_FXStateChunk
SetFXGuid_FXStateChunkSetFXMidiPreset_FXStateChunkSetFXWak_FXStateChunkSetLastSel_FXStateChunk
SetShow_FXStateChunkSetTakeFXCommentSetTakeFX_AlternativeNameSetTrackFXComment
SetTrackFX_AlternativeNameSetWndRect_FXStateChunk 

File Management

Background Copy
CopyFile_AddFileToQueueCopyFile_FlushCopiedFilesCopyFile_GetBufferSizeCopyFile_GetCopiedStatus
CopyFile_GetCurrentlyCopiedFileCopyFile_GetCurrentlyRunningCopyInstancesCopyFile_GetPausedStateCopyFile_GetRemainingFilesToCopy
CopyFile_IsCurrentlyCopyingCopyFile_PauseCopyFile_SetBufferSizeCopyFile_StartCopying
CopyFile_StopCopying  
File Analysis
CheckForValidFileFormatsCountLinesInFileGetLengthOfFileOnlyFilesOfCertainType
   
Helper functions
CountDirectoriesAndFilesInPathCreateValidTempFileDirectoryExistsDirectoryExists2
GetAllDirectoriesInPathGetAllFilenamesInPathGetAllRecursiveFilesAndSubdirectoriesGetPath
GetReaperWorkDirSetReaperWorkDir 
Manipulate Files
MakeCopyOfFileMakeCopyOfFile_Binary 
Misc
BatchConvertFiles  
Read Files
ReadBinaryFileFromPatternReadBinaryFileUntilPatternReadBinaryFile_OffsetReadFileAsLines_Array
ReadFullFileReadLinerangeFromFileReadSubtitles_SRTReadSubtitles_VTT
ReadValueFromFile  
Write Files
SaveSubtitles_SRTWriteValueToFileWriteValueToFile_InsertWriteValueToFile_InsertBinary
WriteValueToFile_ReplaceWriteValueToFile_ReplaceBinary 

Image File Handling

CaptureScreenAreaAsPNGCaptureWindowAsPNGConvertJPG2PNGConvertPNG2JPG
ResizeJPGResizePNG 

Localization

LocalizeLocalize_RefreshFileLocalize_UseFile

MIDI Management

MIDI Editor
OpenItemInMidiEditorZoomHorizontal_MidiEditorZoomVertical_MidiEditor
Notes
MIDI_SendMidiCCMIDI_SendMidiNoteMIDI_SendMidiPCMIDI_SendMidiPitch
QueryMIDIMessageNameByID  

Manipulate Files

MoveFileOrFolder  

Markers

Assistance functions
CountMarkersAndRegionsGetGuidFromMarkerIDGetMarkerByScreenCoordinatesGetMarkerByTime
GetMarkerIDFromGuidGetMarkerUpdateCounterGetNextFreeRegionIndexGetRegionByScreenCoordinates
GetRegionByTimeGetTimeSignaturesByScreenCoordinatesGetTimeSignaturesByTimeIsMarkerAtPosition
IsRegionAtPositionMoveMarkersByMoveRegionsByParseMarkerString
RenumerateMarkers  
Custom Markers
AddCustomMarkerAddCustomRegionCountAllCustomMarkersCountAllCustomRegions
DeleteCustomMarkersDeleteCustomRegionsEnumerateCustomMarkersEnumerateCustomRegions
GetAllCustomMarkerNamesGetAllCustomMarkersGetAllCustomRegionNamesGetAllCustomRegions
IsMarkerValidCustomMarkerIsRegionValidCustomRegionSetCustomMarkerSetCustomRegion
   
Edit Markers and Regions
AddEditMarkerAddEditRegionCountEditMarkersCountEditRegions
DeleteEditMarkerDeleteEditRegionEditToMarkerEnumerateEditMarkers
EnumerateEditRegionExportEditMarkersToFileGetAllEditMarkersImportEditFromFile
IsMarkerEditIsRegionEditRegionMarkerToEditMarkerSetEditMarker
SetEditRegion  
General Markers and Regions
GetAllMarkersGetAllMarkersBetweenGetAllRegionsGetAllRegionsBetween
GetLastMarkerPositionGetLastRegionGetMarkerAndRegionsByIndexGetMarkerByName
GetMarkerByName_PatternImportMarkersFromFileRippleCut_RegionsSetMarkerByIndex
   
Normal Markers
AddNormalMarkerCountNormalMarkersCountNormalMarkers_NumGapDeleteNormalMarker
EnumerateNormalMarkersExportNormalMarkersToFileGetAllNormalMarkersIsMarkerNormal
SetNormalMarker  
PodRange Region
AddPodRangeRegionDeletePodRangeRegionGetPodRangeRegionIsRegionPodrange
SetPodRangeRegion  
Time Signature Markers
GetAllTimeSigMarkersGetLastTimeSigMarkerPositionIsTimeSigmarkerAtPositionMoveTimeSigMarkersBy
   

Media Explorer

MediaExplorer_OnCommandUpdateMediaExplorer 

MediaItem Management

Assistance functions
ApplyActionToMediaItemApplyActionToMediaItemArrayApplyActionToMediaItemArray2ApplyFunctionToMediaItemArray
CheckMediaItemArrayCheckMediaItemStateChunkArrayCopyMediaItemToDestinationTrackGetAllMediaItemAttributes_Table
GetAllMediaItemGUIDsGetEndOfItemGetGapsBetweenItemsGetItem_ClickState
GetItem_HighestRecCounterGetItem_NumberGetMediaItemArrayLengthGetMediaItemStateChunkArrayLength
GetMediaItemStateChunksFromItemsGetMediaItemStateChunksFromMediaItemArrayGetMediafileAttributesGetParentTrack_MediaItem
IsItemInTimerangeIsItemVisibleIsSplitAtPositionIsValidMediaItemArray
IsValidMediaItemStateChunkIsValidMediaItemStateChunkArrayOnlyItemsInTracksAndTimerangeOnlyMediaItemsOfTracksInTrackstring
OnlyMediaItemsOfTracksInTrackstring_StateChunkPreviewMediaFilePreviewMediaItemSetAllMediaItemAttributes_Table
StopAnyPreview  
Delete
DeleteMediaItemDeleteMediaItemsFromArrayDeleteMediaItems_PositionDeleteMediaItems_Position
   
Edit
RippleCutRippleCut_ReverseSectionCutSectionCut_Inverse
SplitItemsAtPositionFromArraySplitMediaItems_Position 
Get MediaItem States
GetItemAllTakesGetItemBeatGetItemChanModeGetItemFadeFlag
GetItemFadeInGetItemFadeOutGetItemGUIDGetItemGroup
GetItemIGUIDGetItemIIDGetItemLengthGetItemLock
GetItemLoopGetItemMixFlagGetItemMuteGetItemName
GetItemPlayRateGetItemPositionGetItemRecPassGetItemSampleOffset
GetItemSelectedGetItemSnapOffsetGetItemStateChunkGetItemUSTrackNumber_StateChunk
GetItemVolPanGetItem_Video_IgnoreAudio 
Get MediaItem-Takes
GetItemSourceFile_TakeGetMediaItemTakeGetTake_ReverseState
Get MediaItems
EnumerateMediaItemsInTrackGetAllLockedItemsFromMediaItemArrayGetAllMediaItemsGetAllMediaItemsBetween
GetAllMediaItemsFromTrackGetAllMediaItemsInTimeSelectionGetAllSelectedMediaItemsBetweenGetMediaItemsAtPosition
   
Insert
InsertImageFileInsertMediaItemArrayInsertMediaItemFromFileInsertMediaItemStateChunkArray
InsertMediaItem_MediaItemInsertMediaItem_MediaItemStateChunkRippleInsertRippleInsert_MediaItemStateChunks
   
Manipulate
AddLockStateToMediaItemStateChunkAddLockStateTo_MediaItemStateChunkArrayApplyStateChunkToItemsChangeDeltaLengthOfMediaItems_FromArray
ChangeDeltaOffsetOfMediaItems_FromArrayChangeLengthOfMediaItems_FromArrayChangeOffsetOfMediaItems_FromArrayMoveMediaItemsAfter_By
MoveMediaItemsBefore_ByMoveMediaItemsBetween_ToMoveMediaItems_FromArrayNormalizeItems
SetItemsLockState  
Outtakes Vault
MediaItems_Outtakes_AddSelectedItemsMediaItems_Outtakes_GetAllItemsMediaItems_Outtakes_InsertAllItems
Selected Items
DeselectMediaItems_MediaItemArrayGetAllSelectedMediaItemsGetSelectedMediaItemsAtPositionGetSelectedMediaItemsBetween
SelectMediaItems_MediaItemArraySetMediaItemsSelected_TimeSelection 
Set MediaItem States
SetItemLengthSetItemPositionSetItemUSTrackNumber_StateChunkSetItem_Video_IgnoreAudio
SetMediaItemStateChunk_in_TrackStateChunk  
Spectral Edit
AddItemSpectralEditCountItemSpectralEditsDeleteItemSpectralEditGetItemSpectralConfig
GetItemSpectralEditGetItemSpectralVisibilityStateSetItemSpectralConfigSetItemSpectralEdit
SetItemSpectralVisibilityState  

Metadata Management

Extension States(Guid)
GetGuidExtStateSetGuidExtState 
Extension States
DeleteProjExtState_KeyDeleteProjExtState_SectionGetProjExtState_AllKeyValuesProjExtState_CountAllKeys
   
Markers
GetMarkerExtStateSetMarkerExtState 
Tags
Metadata_AIFF_GetSetMetadata_APE_GetSetMetadata_BWF_GetSetMetadata_CART_GetSet
Metadata_CUE_GetSetMetadata_ID3_GetSetMetadata_INFO_GetSetMetadata_IXML_GetSet
Metadata_VORBIS_GetSetMetadata_XMP_GetSet 

Miscellaneous

WinterlySnowflakes  

Mute Management

Mute Lane
ActivateMuteActivateMute_TrackObjectDeactivateMuteDeactivateMute_TrackObject
   
Muting tracks within envelope-lanes
CountMuteEnvelopePointsDeleteMuteStateDeleteMuteState_TrackObjectGetNextMuteState
GetNextMuteState_TrackObjectGetPreviousMuteStateGetPreviousMuteState_TrackObjectIsMuteAtPosition
IsMuteAtPosition_TrackObjectToggleMuteToggleMute_TrackObject

Navigation

CenterViewToCursorGetClosestGoToPointsGetClosestNextMarkerGetClosestNextRegionEdge
GetClosestPreviousMarkerGetClosestPreviousRegionEdgeGetLastCursorPositionGetLastLoopState
GetLastPlayStateGetNextClosestItemEdgeGetPreviousClosestItemEdgeJumpBackwardBy
JumpBackwardBy_RecordingJumpForwardByJumpForwardBy_RecordingSetPlayAndEditCursor_WhenPlaying
SetPlayCursor_WhenPlayingToggleScrollingDuringPlayback 
Scrubbing
Scrubbing_MoveCursor_GetToggleStateScrubbing_MoveCursor_Toggle 
Transport
GetLoopStateSetLoopState 

Project-Files

Helper functions
GetProjectStateChunkGetProject_RenderOutputPath 
RPP-Files Set
SetProject_GroupOverride  

Project-Management

AutoSave
AutoSave_GetMinutesAutoSave_GetOptionsAutoSave_SetMinutesAutoSave_SetOptions
   
Helper functions
CheckForChangedProjectTabsConvertOldProjectToCurrentReaperVersionCountProjectTabsCreateTemporaryFileOfProjectfile
EnumProjectsGetCurrentTimeLengthOfFrameGetLengthOfFramesGetProjectFilename
GetProjectLengthGetProject_LengthGetProject_LengthGetProject_Tabs
GetRecentProjectsIsTimeSelectionActiveIsValidProjectStateChunkIsValidReaProject
NewProjectTab  
ProjectBay
GetAllMediaItems_FromProjectBayStateChunkIsValidProjectBayStateChunk 
RPP-Files Get
GetProjectState_NumbersOnlyGetProject_AddMediaToProjectAfterRenderGetProject_ApplyFXCFGGetProject_Author
GetProject_AutoCrossFadeGetProject_CountMarkersAndRegionsGetProject_CountMasterHWOutsGetProject_CursorPos
GetProject_DefPitchModeGetProject_EnvAttachGetProject_ExtensionsGetProject_Feedback
GetProject_GetMarkerGetProject_GetRegionGetProject_GlobalAutoGetProject_Grid
GetProject_GroupDisabledGetProject_GroupNameGetProject_GroupOverrideGetProject_HorizontalZoom
GetProject_ItemMixBehaviorGetProject_LockGetProject_LoopGetProject_LoopGran
GetProject_MarkersAndRegionsGetProject_MasterAutomodeGetProject_MasterDualPanEnv2StateChunkGetProject_MasterDualPanEnvL2StateChunk
GetProject_MasterDualPanEnvLStateChunkGetProject_MasterDualPanEnvStateChunkGetProject_MasterFXBypGetProject_MasterFXListStateChunk
GetProject_MasterGroupFlagsHighStateGetProject_MasterGroupFlagsStateGetProject_MasterHWOutGetProject_MasterHWPanEnvStateChunk
GetProject_MasterHWVolEnvStateChunkGetProject_MasterMuteSoloGetProject_MasterNChansGetProject_MasterPanMode
GetProject_MasterPanMode_ExGetProject_MasterPlayspeedGetProject_MasterSelGetProject_MasterTrackColor
GetProject_MasterTrackHeightGetProject_MasterTrackViewGetProject_MasterVolEnv2StateChunkGetProject_MasterVolEnv3StateChunk
GetProject_MasterVolEnvStateChunkGetProject_MasterVolumeGetProject_MasterWidthGetProject_MaxProjectLength
GetProject_MetaDataStateChunkGetProject_MetronomeGetProject_MixerUIFlagsGetProject_NumberOfTracks
GetProject_PanLawGetProject_PanModeGetProject_PeakGainGetProject_Playrate
GetProject_PooledEnvAttachGetProject_ProjOffsetsGetProject_ProjectBayGetProject_QRenderOriginalProject
GetProject_QRenderOutFilesGetProject_ReaperVersionGetProject_RecModeGetProject_RecPath
GetProject_RecordCFGGetProject_RenderCFGGetProject_RenderDitherStateGetProject_RenderFilename
GetProject_RenderFreqNChansGetProject_RenderPatternGetProject_RenderQueueDelayGetProject_RenderRange
GetProject_RenderResampleGetProject_RenderSpeedGetProject_RenderStemsGetProject_RippleState
GetProject_SMPTESyncGetProject_SampleRateGetProject_SelectionGetProject_TakeLane
GetProject_TempoGetProject_TempoEnvExGetProject_TempoEnv_ExStateChunkGetProject_TempoTimeSignature
GetProject_TimeBaseGetProject_TimemodeGetProject_TrackMixingDepthGetProject_TrackStateChunk
GetProject_UseRecConfigGetProject_VerticalZoomGetProject_VideoConfig
RPP-Files Set
SetProject_AddMediaToProjectAfterRenderSetProject_ApplyFXCFGSetProject_AutoCrossFadeSetProject_CursorPos
SetProject_DefPitchModeSetProject_EnvAttachSetProject_FeedbackSetProject_GlobalAuto
SetProject_GridSetProject_HorizontalZoomSetProject_ItemMixBehaviorSetProject_Lock
SetProject_LoopSetProject_LoopGranSetProject_MasterAutomodeSetProject_MasterFXByp
SetProject_MasterMuteSoloSetProject_MasterNChansSetProject_MasterPanModeSetProject_MasterSel
SetProject_MasterTrackColorSetProject_MasterTrackHeightSetProject_MasterTrackViewSetProject_MaxProjectLength
SetProject_MixerUIFlagsSetProject_PanLawSetProject_PanModeSetProject_PeakGain
SetProject_PlayrateSetProject_ProjOffsetsSetProject_RecModeSetProject_RecPath
SetProject_RecordCFGSetProject_RenderCFGSetProject_RenderDitherStateSetProject_RenderFilename
SetProject_RenderFreqNChansSetProject_RenderPatternSetProject_RenderQueueDelaySetProject_RenderRange
SetProject_RenderResampleSetProject_RenderSpeedSetProject_RenderStemsSetProject_RippleState
SetProject_SMPTESyncSetProject_SampleRateSetProject_SelectionSetProject_TakeLane
SetProject_TempoSetProject_TempoTimeSignatureSetProject_TimeBaseSetProject_Timemode
SetProject_TrackMixingDepthSetProject_UseRecConfigSetProject_VerticalZoomSetProject_VideoConfig
   

ReaMote

AutoSearchReaMoteClients  

Reaper Element Positions

Reaper Window
ConvertClient2ScreenXCoordinate_ReaperWindowConvertScreen2ClientXCoordinate_ReaperWindowSetReaperWindowToSize

Rendering Projects

Analyzing Renderstrings
GetOutputFormat_RenderCfgGetRenderCFG_Settings_AIFFGetRenderCFG_Settings_AVI_VideoGetRenderCFG_Settings_AudioCD
GetRenderCFG_Settings_DDPGetRenderCFG_Settings_FLACGetRenderCFG_Settings_GIFGetRenderCFG_Settings_LCF
GetRenderCFG_Settings_M4AMacGetRenderCFG_Settings_MKV_VideoGetRenderCFG_Settings_MOVMac_VideoGetRenderCFG_Settings_MP3
GetRenderCFG_Settings_MP3ABRGetRenderCFG_Settings_MP3CBRGetRenderCFG_Settings_MP3MaxQualityGetRenderCFG_Settings_MP3VBR
GetRenderCFG_Settings_MP4Mac_VideoGetRenderCFG_Settings_OGGGetRenderCFG_Settings_OPUSGetRenderCFG_Settings_QTMOVMP4_Video
GetRenderCFG_Settings_WAVGetRenderCFG_Settings_WAVPACKGetRenderCFG_Settings_WebMVideo
Assistance functions
ApplyRenderTable_ProjectApplyRenderTable_ProjectFileCreateNewRenderTableGetLastRenderPaths
GetLastUsedRenderPatternsGetRenderTable_ProjectGetRenderTable_ProjectFileIsReaperRendering
IsValidRenderTableResolveRenderPattern 
Creating Renderstrings
CreateRenderCFG_AIFFCreateRenderCFG_AVI_VideoCreateRenderCFG_AudioCDCreateRenderCFG_DDP
CreateRenderCFG_FLACCreateRenderCFG_GIFCreateRenderCFG_LCFCreateRenderCFG_M4AMAC
CreateRenderCFG_MKV_VideoCreateRenderCFG_MOVMAC_VideoCreateRenderCFG_MP3ABRCreateRenderCFG_MP3CBR
CreateRenderCFG_MP3MaxQualityCreateRenderCFG_MP3VBRCreateRenderCFG_MP4MAC_VideoCreateRenderCFG_OGG
CreateRenderCFG_OpusCreateRenderCFG_QTMOVMP4_VideoCreateRenderCFG_WAVCreateRenderCFG_WAVPACK
CreateRenderCFG_WebMVideo  
Render Presets
AddRenderPresetDeleteRenderPreset_BoundsDeleteRenderPreset_FormatOptionsGetRenderPreset_Names
GetRenderPreset_RenderTableSetRenderPreset 
Render Settings
GetRender_AddRenderedFilesToProjectGetRender_AutoIncrementFilenameGetRender_EmbedMetaDataGetRender_EmbedStretchMarkers
GetRender_NoSilentFilesGetRender_OfflineOnlineModeGetRender_ProjectSampleRateForMixGetRender_QueueDelay
GetRender_ResampleModeGetRender_SaveCopyOfProjectGetRender_TailLengthSetRender_AddRenderedFilesToProject
SetRender_AutoIncrementFilenameSetRender_EmbedMetaDataSetRender_EmbedStretchMarkersSetRender_NoSilentFiles
SetRender_OfflineOnlineModeSetRender_ProjectSampleRateForMixSetRender_QueueDelaySetRender_ResampleMode
SetRender_SaveCopyOfProjectSetRender_TailLength 
RenderQueue
AddProjectFileToRenderQueueAddSelectedItemsToRenderQueueGetRenderQueuedProjectsRenderProject_RenderQueue
   
Rendering any Outputformat
RenderProjectRenderProject_RegionsRenderProject_RenderTableRender_Loop
   

Themeing

ApplyAllThemeLayoutParametersGetAllThemeLayoutNamesGetAllThemeLayoutParametersGetThemeParameterIndexByDescription
GetThemeParameterIndexByNameSetThemeParameterIndexByDescriptionSetThemeParameterIndexByName
Default v6-Theme
Theme_Defaultv6_GetEnvFaderSizeTheme_Defaultv6_GetEnvFolderIndentTheme_Defaultv6_GetEnvNameSizeTheme_Defaultv6_GetEnvSize
Theme_Defaultv6_GetHideTCPElementTheme_Defaultv6_GetMCPAlignControlsTheme_Defaultv6_GetMCPBorderStyleTheme_Defaultv6_GetMCPFolderIndent
Theme_Defaultv6_GetMCPMeterExpansionTheme_Defaultv6_GetMCPSizeAndLayoutTheme_Defaultv6_GetStyleMCPElementTheme_Defaultv6_GetTCPAlignControls
Theme_Defaultv6_GetTCPFolderIndentTheme_Defaultv6_GetTCPInputSizeTheme_Defaultv6_GetTCPMeterLocationTheme_Defaultv6_GetTCPMeterSize
Theme_Defaultv6_GetTCPNameSizeTheme_Defaultv6_GetTCPSizeAndLayoutTheme_Defaultv6_GetTCPVolumeSizeTheme_Defaultv6_GetTransPlayRateSize
Theme_Defaultv6_GetTransSizeTheme_Defaultv6_SetEnvFaderSizeTheme_Defaultv6_SetEnvFolderIndentTheme_Defaultv6_SetEnvNameSize
Theme_Defaultv6_SetEnvSizeTheme_Defaultv6_SetHideTCPElementTheme_Defaultv6_SetMCPAlignControlsTheme_Defaultv6_SetMCPBorderStyle
Theme_Defaultv6_SetMCPFolderIndentTheme_Defaultv6_SetMCPMeterExpansionTheme_Defaultv6_SetMCPSizeAndLayoutTheme_Defaultv6_SetStyleMCPElement
Theme_Defaultv6_SetTCPAlignControlsTheme_Defaultv6_SetTCPFolderIndentTheme_Defaultv6_SetTCPInputSizeTheme_Defaultv6_SetTCPMeterLocation
Theme_Defaultv6_SetTCPMeterSizeTheme_Defaultv6_SetTCPNameSizeTheme_Defaultv6_SetTCPSizeAndLayoutTheme_Defaultv6_SetTCPVolumeSize
Theme_Defaultv6_SetTransPlayRateSizeTheme_Defaultv6_SetTransSize 

Track Management

Assistance functions
AddMediaItemStateChunk_To_TrackStateChunkAnyTrackFXBypassAnyTrackFreeItemPositioningModeAnyTrackHiddenMCP
AnyTrackHiddenTCPAnyTrackMuteAnyTrackPhasedAnyTrackRecMonitored
AnyTrackRecarmedApplyActionToTrackCountItemsInTrackStateChunkCreateTrackString
CreateTrackStringByGUIDCreateTrackStringByMediaTracksCreateTrackStringByTracknamesCreateTrackString_AllTracks
CreateTrackString_ArmedTracksCreateTrackString_SelectedTracksCreateTrackString_UnarmedTracksDeleteTracks_TrackString
GetAllMediaItemsFromTrackStateChunkGetAllVisibleTracks_ArrangeGetItemStateChunkFromTrackStateChunkGetLengthOfAllMediaItems_Track
GetTrackLengthGetTracknumberByGuidInsertTrackAtIndexInsertTrack_TrackStateChunk
InverseTrackstringIsTrackObjectTracknumberIsTrackVisibleIsValidTrackStateChunk
IsValidTrackStringMoveTracksOnlyTracksInBothTrackstringsOnlyTracksInOneTrackstring
RemoveDuplicateTracksInTrackstringRemoveMediaItemByGUID_TrackStateChunkRemoveMediaItemByIGUID_TrackStateChunkRemoveMediaItem_TrackStateChunk
   
Get Track States
GetAllLockedTracksGetAllSelectedTracksGetTrackAutoRecArmStateGetTrackAutomodeState
GetTrackBeatStateGetTrackBusCompStateGetTrackBypFXStateGetTrackFreeModeState
GetTrackGroupFlagsStateGetTrackGroupFlags_HighStateGetTrackHeightStateGetTrackID
GetTrackINQStateGetTrackIPhaseStateGetTrackIcon_FilenameGetTrackIsBusState
GetTrackLayoutNamesGetTrackLockStateGetTrackMIDIOutStateGetTrackMainSendState
GetTrackMidiBankProgFnGetTrackMidiCTLGetTrackMidiColorMapFnGetTrackMidiInputChanMap
GetTrackMidiTextStrFnGetTrackMuteSoloStateGetTrackNChansStateGetTrackName
GetTrackPanModeGetTrackPeakColorStateGetTrackPerfStateGetTrackRecCFG
GetTrackRecStateGetTrackScoreGetTrackSelection_TrackStateChunkGetTrackShowInMixState
GetTrackStateChunk_TracknumberGetTrackState_NumbersOnlyGetTrackVUStateGetTrackVolPan
GetTrackWidthSetTrackSelection_TrackStateChunk 
Hardware Out
AddTrackHWOutApplyAllHWOutsAreHWOutsTablesEqualClearRoutingMatrix
CountTrackHWOutsDeleteTrackHWOutGetAllHWOutsGetTrackHWOut
SetTrackHWOut  
Send/Receive-Routing
AddTrackAUXSendReceivesApplyAllAUXSendReceivesApplyAllMainSendStatesAreAUXSendReceivesTablesEqual
AreMainSendsTablesEqualClearRoutingMatrixCountTrackAUXSendReceivesDeleteTrackAUXSendReceives
GetAllAUXSendReceivesGetAllMainSendStatesGetTrackAUXSendReceivesSetTrackAUXSendReceives
   
Set Track States
CollapseTrackHeightGetTrackByTrackNameSetAllTracksSelectedSetTrackAutoRecArmState
SetTrackAutomodeStateSetTrackBeatStateSetTrackBusCompStateSetTrackBypFXState
SetTrackFreeModeStateSetTrackGroupFlagsStateSetTrackGroupFlags_HighStateSetTrackHeightState
SetTrackIDSetTrackINQStateSetTrackIPhaseStateSetTrackIcon_Filename
SetTrackIsBusStateSetTrackLayoutNamesSetTrackLockStateSetTrackMIDIOutState
SetTrackMainSendStateSetTrackMidiBankProgFnSetTrackMidiCTLSetTrackMidiColorMapFn
SetTrackMidiInputChanMapSetTrackMidiTextStrFnSetTrackMuteSoloStateSetTrackNChansState
SetTrackNameSetTrackPanModeSetTrackPeakColorStateSetTrackPerfState
SetTrackRecCFGSetTrackRecStateSetTrackScoreSetTrackShowInMixState
SetTrackStateChunk_TracknumberSetTrackVUStateSetTrackVolPanSetTrackWidth
SetTrack_LastTouchedSetTrack_Trackheight_ForceSetTracksSelectedSetTracksToLocked
SetTracksToUnlocked  

TrackManager

TrackManager_ClearFilterTrackManager_OpenCloseTrackManager_SelectionFromListTrackManager_SelectionFromProject
TrackManager_SetFilterTrackManager_ShowAll 

Ultraschall Specific

Followmode
pause_follow_one_cycle  
Routing
GetAllAUXSendReceives2GetAllHWOuts2GetAllMainSendStates2
Soundboard
SoundBoard_PlaySoundBoard_PlayList_CurrentIndexSoundBoard_PlayList_NextSoundBoard_PlayList_Previous
SoundBoard_PlayList_SetIndexSoundBoard_StopSoundBoard_StopAllSoundsSoundBoard_TogglePlayPause
SoundBoard_TogglePlayStopSoundBoard_TogglePlay_FadeOutStopSoundboard_PlayFadeIn
Track Management
GetTypeOfTrackIsTrackSoundboardIsTrackStudioLinkIsTrackStudioLinkOnAir
   
Ultraschall.ini
CountUSExternalState_keyCountUSExternalState_secDeleteUSExternalStateEnumerateUSExternalState_key
EnumerateUSExternalState_secGetUSExternalStateSetUSExternalState

User Interface

GetPreventUIRefreshCountPreventUIRefreshRestoreUIRefresh
Arrangeview Management
DeleteArrangeviewSnapshotGetVerticalScrollGetVerticalZoomIsValidArrangeviewSnapshot
RestoreArrangeviewSnapshotRetrieveArrangeviewSnapshotSetVerticalRelativeScrollSetVerticalScroll
SetVerticalZoomStoreArrangeviewSnapshot 
Context Menus
ShowMenu  
Dialogs
BrowseForOpenFilesGetUserInputsMB
MediaItems
GetItemButtonsVisibleSetItemButtonsVisible 
Menu Management
ShowAutomationItemMenuShowEnvelopeMenuShowEnvelopePointMenuShowEnvelopePointMenu_AutomationItem
ShowMediaItemMenuShowRulerMenuShowTrackAreaMenuShowTrackInputMenu
ShowTrackPanelMenuShowTrackRoutingMenu 
Miscellaneous
ConvertYCoordsMac2WinGetIDEFontSizeGetTimeByMouseXPositionSetIDEFontSize
SetReaScriptConsole_FontStyleSetUIScale 
Reaper-Windowhandler
GetActionsHWNDGetBatchFileItemConverterHWNDGetConsolidateTracksHWNDGetExportProjectMIDIHWND
GetHWND_ArrangeViewAndTimeLineGetMediaExplorerHWNDGetPreferencesHWNDGetProjectDirectoryCleanupHWND
GetProjectSettingsHWNDGetReaScriptConsoleWindowGetRenderQueueHWNDGetRenderToFileHWND
GetRenderingToFileHWNDGetSaveLiveOutputToDiskHWNDGetSaveProjectAsHWNDGetTrackManagerHWND
GetVideoHWND  
Screen Management
GetScreenHeightGetScreenWidth 
Track Control Panel(TCP)
GetTCPWidthTCP_SetWidth 
Transport and Ruler
SetTimeUnit  
Transport
GetPlayCursorWidthSetPlayCursorWidth 
UI-Elements
GetCheckboxStateSetCheckboxState 
Window Management
CloseReaScriptConsoleGetAllReaScriptIDEWindowsGetChildSizeWithinParentHWNDGetReaperWindowAttributes
GetTopmostHWNDHasHWNDChildWindowNamesIsValidHWNDMoveChildWithinParentHWND
ReturnAllChildHWNDVideoWindow_FullScreenToggleWindows_Find
misc
GetHelpDisplayModeSetHelpDisplayModeWiringDiagram_GetOptionsWiringDiagram_SetOptions
   

Web Interface

WebInterface_GetInstalledInterfaces  


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountProjectTabs

Functioncall:

integer number_of_projecttabs = ultraschall.CountProjectTabs()

Description:
Counts the number of opened project tabs.

Returnvalues:
 integer number_of_projecttabs the number of projecttabs currently opened 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_Tabs

Functioncall:

integer number_of_projecttabs, array projecttablist = ultraschall.GetProject_Tabs()

Description:
Returns the ReaProject-objects, as well as the filenames of all opened project-tabs.

Returnvalues:
 integer number_of_projecttabs the number of projecttabs currently opened 
 array projecttablist an array, that holds all ReaProjects as well as the projectfilenames
projecttablist[idx][1] = ReaProject
projecttablist[idx][2] = projectfilename with path 



^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ GetApiVersion

Functioncall:

number versionnumber, string majorversion, string date, string subversion, string tagline, string buildnumber = ultraschall.GetApiVersion()

Description:
returns the version, release-date and if it's a beta-version plus the currently installed hotfix

Returnvalues:
 number versionnumber a number, that you can use for comparisons like, "if requestedversion>versionnumber then" 
 string majorversion the current Api-major-version 
 string date the release date of this api-version 
 string subversion a subversion-number of a major-version 
 string tagline the tagline of the current release 
 string hotfix_date the release-date of the currently installed hotfix ($ResourceFolder/ultraschall_api/ultraschall_hotfixes.lua); XX_XXX_XXXX if no hotfix is installed currently 
 string buildnumber the build-number of the current release 



^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ SuppressErrorMessages

Functioncall:

boolean retval = ultraschall.SuppressErrorMessages(boolean flag)

Description:
Allows you to suppress error-messages.
If you pass true, all error messages will be suppressed, until you run the function again passing false.

Note: You should supress error-messages only temprarily and "unsuppress" them again, after your critical stuff is finished.
Otherwise, someone using your functions will have no error-messages to debug with.

Returns false, if parameter isn't boolean. Unlike most other function, this will never create an error-message!

Returnvalues:
 boolean retval true, setting was successful; false, you didn't pass a boolean as parameter 

Parameters:
 boolean flag true, suppress error-messages; false, don't suppress error-messages 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ AddErrorMessage

Functioncall:

boolean retval, integer errorcount = ultraschall.AddErrorMessage(string functionname, string parametername, string errormessage, integer errorcode)

Description:
Adds a new errormessage to the Ultraschall-Api-Error-messagesystem. Returns the number of the errormessage.
Intended for your own 3rd party-functions for the API, to give the user more feedback about errors than just a cryptic errorcode.

returns false in case of failure

Returnvalues:
 boolean retval true, if it worked; false if it didn't 
 integer errorcount the number of the errormessage within the Ultraschall-Api-Error-messagesystem; nil, if errormessages are suppressed currently 

Parameters:
 string functionname the function, where the error happened 
 string parametername the parameter, that caused the problem 
 string errormessage a longer description of what cause the problem and a hint to a possible solution 
 integer errorcode a number, that represents the error-message. Will be -1 by default, if not given. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ StartTime

Functioncall:

ultraschall.StartTime

Description:
Contains the correct starting time of the current instance of the Ultraschall-Framework, which probably means your script, that embeds the framework.




^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ API_TempPath

Functioncall:

ultraschall.API_TempPath

Description:
Contains the path to the temp-folder of the Ultraschall-API.




^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ Euro

Functioncall:

ultraschall.Euro

Description:
Holds the Euro-currency-symbol, which is hard to type in Reaper's own IDE.




^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ApiTest

Functioncall:

ultraschall.ApiTest()

Description:
Displays a message to show, which parts of the Ultraschall-API are turned on and which are turned off.




^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ToggleIDE_Errormessages

Functioncall:

boolean retval = ultraschall.ToggleIDE_Errormessages(optional boolean togglevalue)

Description:
Toggles or sets, if the error-messaging system shall output it's errors to Reaper's IDE(true) or not(false).
When set true, it will show the errormessages at the bottom of the IDE, as you are used by Reaper's own functions.

Returnvalues:
 boolean retval true, if errors will be shown at the bottom of the IDE; false, if not 

Parameters:
 optional boolean togglevalue true, if errormessages shall be shown at the bottom of the IDE, false if not. If omitted, it toggles what was set before. 


^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ ReadErrorMessage

Functioncall:

boolean retval, integer errcode, string functionname, string parmname, string errormessage, string lastreadtime, string err_creation_date, string err_creation_timestamp = ultraschall.ReadErrorMessage(integer errornumber, optional boolean keep_unread)

Description:
Reads an error-message within the Ultraschall-ErrorMessagesystem.
Returns a boolean value, the functionname, the errormessage, the "you've already read this message"-status, the date and a timestamp of the creation of the errormessage.
returns false in case of failure

Returnvalues:
 boolean retval true, if it worked; false if it didn't 
 integer errcode the errorcode of this message, as set by the function that created this errormessage; -1 is default value 
 string functionname the name of the function, where the problem happened 
 string parmname the parameter, that was used wrong by the programmer; "" if no parameter was involved in this error 
 string errormessage the message of the problem with a possible hint to a solution 
 string readstatus "unread" if the message hasn't been read yet or a date_time from when the message has been read already 
 string err_creation_date the date_time of when the error-message was created 
 string err_creation_timestamp the timestamp of when the error-message was created. Usually seconds, since system got started 

Parameters:
 integer errornumber the number of the error, beginning with 1. Use CountErrorMessages to get the current number of error-messages. 
 optional boolean keep_unread true, keeps the message unread; false or nil, sets the readstate of the message 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ DeleteErrorMessage

Functioncall:

boolean retval = ultraschall.DeleteErrorMessage(integer errornumber)

Description:
Deletes an error-message within the Ultraschall-ErrorMessagesystem.

returns false in case of failure

Returnvalues:
 boolean retval true, if such an error exists; false if it didn't 

Parameters:
 integer errornumber the number of the error to delete, beginning with 1. Use CountErrorMessages to get the current number of error-messages. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetLastErrorMessage

Functioncall:

boolean retval, integer errcode, string functionname, string parmname, string errormessage, string lastreadtime, string err_creation_date, string err_creation_timestamp, integer errorcounter = ultraschall.GetLastErrorMessage()

Description:
Reads the last error-message stored in the Ultraschall-ErrorMessagesystem.
Returns a boolean value, the functionname, the errormessage, the date and a timestamp of the creation of the errormessage, the unread-status as well as the error-message-number.
returns false in case of failure

Returnvalues:
 boolean retval true, if it worked; false if it didn't 
 integer errcode the errorcode of this message, as set by the function that created this errormessage; -1 is default value 
 string functionname the name of the function, where the problem happened 
 string parmname the parameter, that was used wrong by the programmer; "" if no parameter was involved in this error 
 string errormessage the message of the problem with a possible hint to a solution 
 string readstatus "unread" if the message hasn't been read yet or a date_time from when the message has been read already 
 string err_creation_date the date_time of when the error-message was created 
 string err_creation_timestamp the timestamp of when the error-message was created. Usually seconds, since system got started 
 integer errorcounter the error-message-number within the Ultraschall-Error-Message-System 

Parameters:
 integer errornumber the number of the error, beginning with 1. Use CountErrorMessages to get the current number of error-messages. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ DeleteLastErrorMessage

Functioncall:

boolean retval = ultraschall.DeleteLastErrorMessage()

Description:
Deletes the last error-message and returns a boolean value.
returns false in case of failure

Returnvalues:
 boolean retval true, if it worked; false if it didn't 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ DeleteAllErrorMessages

Functioncall:

boolean retval = ultraschall.DeleteAllErrorMessages()

Description:
Deletes all error-messages and returns a boolean value.
returns false in case of failure

Returnvalues:
 boolean retval true, if it worked; false if it didn't 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetLastErrorMessage2

Functioncall:

boolean retval, array ErrorMessages = ultraschall.GetLastErrorMessage2(integer count, boolean setread)

Description:
Returns an array with the last "count" errormessages. 1 for the last, 2 for the last 2, etc.
Set setread to false, if you want to retain the unread status of the error-messages.
returns false in case of failure

Returnvalues:
 boolean retval true, if it worked; false if it didn't 
 array ErrorMessages an array, that contains all values for the chosen number of errormessages.
The fields are ErrorMessages[errornumber][x], where x stands for
"errcode" - the errorcode of this function, default is -1
"funcname" - functionname
"parmname" - name of the parameter, that caused the error
"errmsg" - errormessage
"readstate" - readstatus
"date" - errorcreation date_time
"time" - errorcreation timestamp in seconds, usually seconds since computer has been started 

Parameters:
 integer count the number of the last few errors, you want to get returned. Use CountErrorMessages to get the current number of error-messages. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountErrorMessages

Functioncall:

integer errorcounter = ultraschall.CountErrorMessages()

Description:
Returns the current count of errormessages in the system available.

Returnvalues:
 integer errorcounter the number of errormessages currently available in the error-message-system. Includes read and unread ones. 



^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ ShowLastErrorMessage

Functioncall:

requested_error_message = ultraschall.ShowLastErrorMessage(optional integer dunk, optional integer target, optional integer message_type)

Description:
Displays the last error message in a messagebox, the ReaScript-Console, the clipboard, if error is existing and unread.

Returnvalues:
 requested_error_message the errormessage requested;  

Parameters:
 optional integer dunk allows to index the last x'ish message to be returned; nil or 0, the last one; 1, the one before the last one, etc. 
 optional integer target the target, where the error-message shall be output to
0 or nil, target is a message box
1, target is the ReaScript-Console
2, target is the clipboard
3, target is a returned string 
 optional integer message_type if target is set to 3, you can set, which part of the error-messageshall be returned as returnvalue
nil or 1, returns true, if error has happened, false, if error didn't happen
2, returns the errcode
3, returns the functionname which caused the error
4, returns the parmname which caused the error
5, returns the errormessage
6, returns the lastreadtime
7, returns the err_creation_date
8, returns the err_creation_timestamp       


^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ SLEM

Functioncall:

requested_error_message = SLEM(optional integer dunk, optional integer target, optional integer message_type)

Description:
Displays the last error message in a messagebox, the ReaScript-Console, the clipboard, if error is existing and unread.

Like ultraschall.ShowLastErrorMessage() but this is easier to type.
Note: written without ultraschall. in the beginning!

Returnvalues:
 requested_error_message the errormessage requested;  

Parameters:
 optional integer dunk allows to index the last x'ish message to be returned; nil or 0, the last one; 1, the one before the last one, etc. 
 optional integer target the target, where the error-message shall be output to
0 or nil, target is a message box
1, target is the ReaScript-Console
2, target is the clipboard
3, target is a returned string 
 optional integer message_type if target is set to 3, you can set, which part of the error-messageshall be returned as returnvalue
nil or 1, returns true, if error has happened, false, if error didn't happen
2, returns the errcode
3, returns the functionname which caused the error
4, returns the parmname which caused the error
5, returns the errormessage
6, returns the lastreadtime
7, returns the err_creation_date
8, returns the err_creation_timestamp       


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ Separator

Functioncall:

ultraschall.Separator

Description:
Contains the correct separator for your system. / on Mac, \ on Windows. Use them, if you want to create windows and mac-compliant scripts that have file operations.




^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ Api_Path

Functioncall:

ultraschall.Api_Path

Description:
Contains the current path of the Ultraschall-Api-folder ResourcePath/UserPlugins/ultraschall_api/




^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ Api_InstallPath

Functioncall:

ultraschall.Api_InstallPath

Description:
Contains the current path to the installation folder of the Ultraschall-Api(usually Resourcesfolder/UserPlugins)




^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetLastErrorMessage_Funcname

Functioncall:

integer errorindex, string parametername, string errormessage, integer errorcode = ultraschall.GetLastErrorMessage_Funcname(string functionname)

Description:
Returns the last errormessage, a certain function added to the Error-Messaging-System.
Sets read-state of the error-message to the date-time of accessing it.

returns -1 in case of error

Returnvalues:
 integer errorindex the index of the error within the Error-Messaging-System 
 string parametername the parameter that produced the problem, or "" if no parameter was involved 
 string errormessage the errormessage 
 integer errorcode the errorcode the error has 

Parameters:
 string functionname the name of the function, whose last error message you want to retrieve 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ CountErrorMessage_Funcname

Functioncall:

integer number_of_errormessages = ultraschall.CountErrorMessage_Funcname(string functionname)

Description:
Returns the number of available errormessages for functionname, existing in the Error-Messaging-System.

returns -1 in case of error

Returnvalues:
 integer number_of_errormessages the number of errormessages functionname has left in the Error-Messaging-System 

Parameters:
 string functionname the name of the function, whose error messages you want to count 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetErrorMessage_Funcname

Functioncall:

integer errorindex, string parametername, string errormessage, integer errorcode = ultraschall.GetErrorMessage_Funcname(string functionname, integer index)

Description:
Returns a specific errormessage specified by index, functionname added to the Error-Messaging-System.
Sets read-state of the error-message to the date-time of accessing it.

returns -1 in case of error

Returnvalues:
 integer errorindex the index of the error within the Error-Messaging-System 
 string parametername the parameter that produced the problem, or "" if no parameter was involved 
 string errormessage the errormessage 
 integer errorcode the errorcode the error has 

Parameters:
 string functionname the name of the function, whose last error message you want to retrieve 
 integer index the index of the error-message for functionname 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ ShowErrorMessagesInReascriptConsole

Functioncall:

ultraschall.ShowErrorMessagesInReascriptConsole(boolean state)

Description:
Sets, if errormessages shall be shown in the ReaScript-Console immediately, when they happen.

Will show functionname, parametername, errorcode plus errormessage and the time the error has happened.


Parameters:
 boolean state true, show error-messages in the ReaScript-Console when they happen; false, don't show errormessages 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ WinterlySnowflakes

Functioncall:

integer retval = ultraschall.WinterlySnowflakes(boolean toggle, number falling_speed, integer number_snowflakes)

Description:
Exchanges the gfx.update()-function with a variant, that displays falling snowflakes everytime it is called.

returns -1 in case of error

Returnvalues:
 integer retval returns -1 in case of a'JS_Window_ListFind' n error; 1, in case of success 

Parameters:
 boolean toggle true, toggles falling snow on; false, toggles falling snow off 
 number falling_speed the falling speed of the snowflakes, 1.3 is recommended 
 integer number_snowflakes the number of falling snowflakes at the same time on screen; 2000 is recommended 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ PingMe

Functioncall:

string pingmessage = PingMe(optional string message, optional integer outputtarget)

Description:
Shows the current script and line of script-execution, optionally with a message.

This is for debugging-purposes. For instance, if you want to know, if an if-statement is working as you expect it, just add
PingMe() into that if-statement.
It will show a message including linenumbers, when the if-statement is going through.

You can also choose, whether to output the message into ReaConsole, Messagebox or clipboard(including culminating options)

Returnvalues:
 string pingmessage returns the pingmessage 

Parameters:
 optional string message an optional message shown 
 optional integer outputtarget 0, don't show a message
1, output the pingme-message into ReaScript-console
2 or nil, show a messagebox
3, output it into the clipboard
4, add it to the end of the contents of the clipboard
5, add it to the beginning of the contents of the clipboard 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ print2

Functioncall:

print2(parameter_1 to parameter_n)

Description:
replaces Lua's own print-function.

shows \0-characters as .

Converts all parametes given into string using tostring() and displays them as a MessageBox, separated by two spaces.


Parameters:
 parameter_1 to parameter_n the parameters, that you want to have printed out 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ print_alt

Functioncall:

print_alt(parameter_1 to parameter_n)

Description:
replaces Lua's own print-function, that is quite useless in Reaper.

shows \0-characters as .

like print, but separates the entries by a two spaced, not a newline


Parameters:
 parameter_1 to parameter_n the parameters, that you want to have printed out 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ print

Functioncall:

print(parameter_1 to parameter_n)

Description:
replaces Lua's own print-function, that is quite useless in Reaper.

displays \0-characters as .

Converts all parametes given into string using tostring() and displays them in the ReaScript-console, separated by a newline and ending with a newline.


Parameters:
 parameter_1 to parameter_n the parameters, that you want to have printed out 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ toboolean

Functioncall:

boolean retval = toboolean(string value)

Description:
Converts the string "value" to a boolean, if applicable; means: if it contains either true or false in it.
If it contains both or other characters(except spaces or tabs), it will not convert.
Works basially like Lua's own tostring() or tonumber()-functions.

Returns nil, if conversion isn't possible.

Note: Unlike other ultraschall-api-functions, toboolean() has no ultraschall. in it's functionname!

Returnvalues:
 boolean retval true or false, depending on the input variable value 

Parameters:
 string value the value to be converted to a boolean. True and false can be upper-, lower and camelcase. 


^ Reaper version 5.965Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ print3

Functioncall:

print(parameter_1 to parameter_n)

Description:
like print, but puts the parameters into the clipboard.

Converts all parametes given into string using tostring() and puts them into the clipboard, with each parameter separated by two spaces.
Unlike print and print2, this does NOT end with a newline!

Note: \0-characters will be seen as string-termination, so strings may be truncated. Please replace \0 with string.gsub, if you need to have the full string with all nil-values included.


Parameters:
 parameter_1 to parameter_n the parameters, that you want to have put into the clipboard 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ print_update

Functioncall:

print_update(parameter_1 to parameter_n)

Description:
replaces Lua's own print-function, that is quite useless in Reaper.

Converts all parametes given into string using tostring() and displays them in the ReaScript-console, separated by two spaces, ending with a newline.

Shows \0-characters as .

This is like print, but clears console everytime before displaying the values. Good for status-display, that shall not scroll.


Parameters:
 parameter_1 to parameter_n the parameters, that you want to have printed out 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CheckActionCommandIDFormat

Functioncall:

boolean retval = ultraschall.CheckActionCommandIDFormat(action_command_id)

Description:
Checks, whether an action command id is a valid commandid(which is a number) or a valid _action_command_id (which is a string with an _underscore in the beginning).

Does not check, whether this action_command_id is a useable one, only if it's "syntax" is correct!

returns falsein case of an error

Returnvalues:
 boolean retval true, valid action_command_id; false, not a valid action_command_id 

Parameters:
 actioncommand_id the ActionCommandID you want to check; either a number or an action_command_id with an underscore at the beginning 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ RunCommand

Functioncall:

integer retval = ultraschall.RunCommand(string actioncommand_id)

Description:
runs a command by its ActionCommandID(instead of the CommandID-number)

returns -1 in case of error

Returnvalues:
 integer retval -1, in case of error 

Parameters:
 string actioncommand_id the ActionCommandID of the Command/Script/Action you want to run; must be either a number or the ActionCommandID beginning with an underscore _ 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ ConvertStringToBits

Functioncall:

integer number_of_bits, array bitarray = ultraschall.ConvertStringToBits(string message)

Description:
converts a string into its bit-representation and returns that as a handy table

returns -1 in case of an error

Returnvalues:
 integer number_of_bits the number of bits in the string, -1, in case of an error 
 array bitarray the individual bits as a handy table 

Parameters:
 string message the string, which you want to convert into its bit representation 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ ConvertBitsToString

Functioncall:

string message = ultraschall.ConvertBitsToString(array bitarray)

Description:
converts a table of bit-representation into a string

Every entry in the table must be either 0 or 1. If there are too few bits to fill up a byte, the missing bits will be seen as trailing 0-bits.

returns nil in case of an error

Returnvalues:
 string message the converted bits as string-representation 

Parameters:
 array bitarray the individual bits in a table, which will be converted into a string-representation
each entry in the table must be either 0 or 1; missing bits at the end(usually nil) will be seen as 0 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ deprecated

Functioncall:

ultraschall.deprecated(string functionname)

Description:
If you have a 3rd-party function added to Ultraschall-API, which you want to deprecate, use this
function to show a warning message, if that function is used.

It will be shown once when running the script, after (re-)start of Reaper.

That way, you can tell scripters, whether they need to update their scripts using newer/better functions.
This is probably shown first to the user, who knows that way a potential problem and can tell the scripter about that.

If there is a line "Author: authorname" in the file(as usual for ReaPack-compatible scripts), it will show the scripter's name in the dialog.


Returnvalues:
 boolean retval true, defer-instance is running; false, defer-instance isn't running 



^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ FloatCompare

Functioncall:

boolean retval, number diff = ultraschall.FloatCompare(number a, number b, number precision)

Description:
Compares two floatvalues and allows to set the precision to copmare against.

So, if you want to compare 5.1 and 5.2, using precision=0.2 returns true(is equal), precision=0.1 returns false(isn't equal).

Returns nil in case of failure.

Returnvalues:
 boolean retval true, numbers are equal; false, numbers aren't equal 
 number diff the difference between numbers a and b 

Parameters:
 number a the first float-number to compare 
 number b the second float-number to compare 
 number precision the precision of the fraction, like 0.1 or 0.0063 


^ Reaper version 6.02Ultraschall version 4.00SWS version 2.10.0.1Lua version 5.3 ^ ToClip

Functioncall:

ToClip(string toclipstring)

Description:
Puts a string into clipboard.

\0-characters will be seen as string-termination, so if you want to put strings into clipboard containing them, you need to replace them first or your string might be truncated


Parameters:
 string toclipstring the string, which you want to put into the clipboard 


^ Reaper version 6.02Ultraschall version 4.00SWS version 2.10.0.1Lua version 5.3 ^ FromClip

Functioncall:

string clipboard_string = FromClip()

Description:
Gets a string from clipboard.

Returnvalues:
 string clipboard_string the string-content from the clipboard 



^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ EscapeMagicCharacters_String

Functioncall:

string escaped_string = ultraschall.EscapeMagicCharacters_String(string sourcestring)

Description:
Escapes the magic characters(needed for pattern matching), so the string can be fed as is into string.match-functions.
That way, characters like . or - or * etc do not trigger pattern-matching behavior but are used as regular . or - or * etc.

returns nil in case of an error

Returnvalues:
 string escaped_string the string with all magic characters escaped 

Parameters:
 string sourcestring the string, whose magic characters you want to escape for future use 


^ Reaper version 6.05Ultraschall version 4.1SWS version 2.10.0.1Julian Sader's plugin version 0.963Lua version 5.3 ^ ActionsList_GetSelectedActions

Functioncall:

integer num_found_actions, integer sectionID, string sectionName, table selected_actions, table CmdIDs, table ToggleStates, table shortcuts = ultraschall.ActionsList_GetSelectedActions()

Description:
returns the selected entries from the actionlist, when opened.

The order of the tables of found actions, ActionCommandIDs and ToggleStates is the same in all of the three tables.
They also reflect the order of userselection in the ActionList itself from top to bottom of the ActionList.

returns -1 in case of an error

Returnvalues:
 integer num_found_actions the number of selected actions; -1, if not opened 
 integer sectionID the id of the section, from which the selected actions are from 
 string sectionName the name of the selected section 
 table selected_actions the texts of the found actions as a handy table 
 table CmdIDs the ActionCommandIDs of the found actions as a handy table; all of them are strings, even the numbers, but can be converted using Reaper's own function reaper.NamedCommandLookup 
 table ToggleStates the current toggle-states of the selected actions; 1, on; 0, off; -1, no such toggle state available 
 table shortcuts the shortcuts of the action as a handy table; separated by ", " 



^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Gmem_GetCurrentAttachedName

Functioncall:

string current_gmem_attachname = ultraschall.Gmem_GetCurrentAttachedName()

Description:
returns nil if no gmem had been attached since addition of Ultraschall-API to the current script

Returnvalues:
 string current_gmem_attachname the name of the currently attached gmem 



^ Reaper version 6.05Ultraschall version 4.1SWS version 2.10.0.1Julian Sader's plugin version 0.963Lua version 5.3 ^ ActionsList_GetAllActions

Functioncall:

integer num_found_actions, integer sectionID, string sectionName, table actions, table CmdIDs, table ToggleStates, table shortcuts = ultraschall.ActionsList_GetAllActions()

Description:
returns the all actions from the actionlist, when opened.

The order of the tables of found actions, ActionCommandIDs and ToggleStates is the same in all of the three tables.
They also reflect the order of userselection in the ActionList itself from top to bottom of the ActionList.

returns -1 in case of an error

Returnvalues:
 integer num_found_actions the number of found actions; -1, if not opened 
 integer sectionID the id of the section, from which the found actions are from 
 string sectionName the name of the found section 
 table actions the texts of the found actions as a handy table 
 table CmdIDs the ActionCommandIDs of the found actions as a handy table; all of them are strings, even the numbers, but can be converted using Reaper's own function reaper.NamedCommandLookup 
 table ToggleStates the current toggle-states of the found actions; 1, on; 0, off; -1, no such toggle state available 
 table shortcuts the shortcuts of the action as a handy table; separated by ", " 



^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ BringReaScriptConsoleToFront

Functioncall:

ultraschall.BringReaScriptConsoleToFront()

Description:
Brings Reaper's ReaScriptConsole-window to the front, when it's opened.




^ Reaper version 6.10Ultraschall version 4.2Lua version 5.3 ^ EditReaScript

Functioncall:

boolean retval, optional command_id = ultraschall.EditReaScript(optional string filename, optional boolean add_ultraschall_api, optional integer add_to_actionlist_section, optional integer x_pos, optional integer y_pos, optional integer width, optional integer height)

Description:
Opens a script in Reaper's ReaScript-IDE.

If the file does not exist yet, it will try to create it. If parameter filename doesn't contain a valid directory, it will try to create the script in the Scripts-folder of Reaper.

Setting filename=nil will open the last one edited using this function.

returns false in case of an error

Returnvalues:
 boolean retval true, opening was successful; false, opening was unsuccessful 
 optional integer command_id the command-id of the script, when it gets newly created 

Parameters:
 optional string filename the filename of the new reascript-file to create(add .lua or .py or .eel to select the language).
nil, opens the last ReaScript-file you opened with this function 
 optional boolean add_ultraschall_api true, add Ultraschall-API-call into the script(only in newly created ones!); false or nil, just open a blank script 
 optional integer add_to_actionlist_section the section, into which you want to add the script
nil, don't add, only open the script in IDE
0, Main
100, Main (alt recording) Note: If you already added to main(section 0), this function automatically adds the script to Main(alt) as well.
32060, MIDI Editor
32061, MIDI Event List Editor
32062, MIDI Inline Editor
32063, Media Explorer 
 optional integer x_pos x-position of the ide-window in pixels; nil, use the last one used 
 optional integer y_pos y-position of the ide-window in pixels; nil, use the last one used 
 optional integer width width of the ide-window in pixels; nil, use the last one used 
 optional integer height height of the ide-window in pixels; nil, use the last one used 


^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ SFEM

Functioncall:

requested_error_message = SFEM(optional integer dunk, optional integer target, optional integer message_type)

Description:
Displays the first error message in a messagebox, the ReaScript-Console, the clipboard, if error is existing and unread.

Returnvalues:
 requested_error_message the errormessage requested;  

Parameters:
 optional integer dunk allows to index the last x'ish message to be returned; nil or 0, the last one; 1, the one before the last one, etc. 
 optional integer target the target, where the error-message shall be output to
0 or nil, target is a message box
1, target is the ReaScript-Console
2, target is the clipboard
3, target is a returned string 
 optional integer message_type if target is set to 3, you can set, which part of the error-messageshall be returned as returnvalue
nil or 1, returns true, if error has happened, false, if error didn't happen
2, returns the errcode
3, returns the functionname which caused the error
4, returns the parmname which caused the error
5, returns the errormessage
6, returns the lastreadtime
7, returns the err_creation_date
8, returns the err_creation_timestamp       


^ Reaper version 5.40Ultraschall version 4.2Lua version 5.3 ^ RFR

Functioncall:

... = RFR(integer length, ...)

Description:
returns only the first x return-values, as given by length.

You can put the return-values of another function and just get the first x ones. So if the function returns 10 returnvalues,
but you only need the first two, set length=2 and add the function(with the 10 returnvalues) after it as second parameter.


For example:

integer r, integer g, integer b = reaper.ColorFromNative(integer col)

returns three colorvalues. If you only want the first one(r), use it this way:

r=RFR(1, reaper.ColorFromNative(12739))



returns nil in case of an error

Returnvalues:
 various ... the requested first-n returnvalues 

Parameters:
 integer length the number of the first return-values to return 
 various ... further parameters, which can be multiple values or just the return-values of another function. 


^ Reaper version 5.40Ultraschall version 4.2Lua version 5.3 ^ RLR

Functioncall:

... = RLR(integer length, ...)

Description:
returns only the last x return-values, as given by length.

You can put the return-values of another function and just get the last x ones. So if the function returns 10 returnvalues,
but you only need the last two, set length=2 and add the function(with the 10 returnvalues) after it as second parameter.


For example:

integer r, integer g, integer b = reaper.ColorFromNative(integer col)

returns three colorvalues. If you only want the last one(b), use it this way:

b=RLR(1, reaper.ColorFromNative(12739))



returns nil in case of an error

Returnvalues:
 various ... the requested last-n returnvalues 

Parameters:
 integer length the number of the last return-values to return 
 various ... further parameters, which can be multiple values or just the return-values of another function. 


^ Reaper version 5.40Ultraschall version 4.2Lua version 5.3 ^ RRR

Functioncall:

... = RRR(integer position, integer length, ...)

Description:
returns only the x return-values between position and position+length.

You can put the return-values of another function and just get the ones between position and position+length. So if the function returns 10 returnvalues,
but you only need the third through the fifth, set position=3 and length=3 and add the function(with the 10 returnvalues) after it as third parameter.


For example:

integer r, integer g, integer b = reaper.ColorFromNative(integer col)

returns three colorvalues. If you only want the middle one(g), use it this way:

g=RLR(2, 1, reaper.ColorFromNative(12739))



returns nil in case of an error

Returnvalues:
 various ... the requested n returnvalues between position and length+position 

Parameters:
 integer position the first return-value to return 
 integer length the number of return-values to return(position+length) 
 various ... further parameters, which can be multiple values or just the return-values of another function. 


^ Reaper version 5.965Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetHWInputs_Aliasnames

Functioncall:

integer number_of_aliases, table aliases = ultraschall.GetHWInputs_Aliasnames()

Description:
Returns the aliasnames and their associated channels of the currently selected audio-device.

The returned table is of the format
table[index][1] - the name of the alias
table[index][2] - the hardware-input-channel, associated to this aliasname

Returnvalues:
 integer number_of_aliases the number of aliases available 
 table aliases a table, that contains all alias-names and their associated Hardware-Input-channels 



^ Reaper version 5.965Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetHWOutputs_Aliasnames

Functioncall:

integer number_of_aliases, table aliases = ultraschall.GetHWOutputs_Aliasnames()

Description:
Returns the aliasnames and their associated channels of the currently selected audio-device.

The returned table is of the format
table[index][1] - the name of the alias
table[index][2] - the hardware-output-channel, associated to this aliasname

Returnvalues:
 integer number_of_aliases the number of aliases available 
 table aliases a table, that contains all alias-names and their associated Hardware-Output-channels 



^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_AutomationItemStateChunk

Functioncall:

string AutomationItemStateChunk = ultraschall.GetProject_AutomationItemStateChunk(string projectfilename_with_path, integer idx, optional string ProjectStateChunk)

Description:
returns the idx'th automation-item from a ProjectStateChunk.

It's the entry <POOLEDENV

returns nil in case of an error

Returnvalues:
 string AutomationItemStateChunk the statechunk of the idx'th automation-item 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the automation-item-statechunk; nil to use ProjectStateChunk 
 integer idx the number of the requested automation-item from the ProjectStateChunk with 1 for the first AutomItem. 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_CountAutomationItems

Functioncall:

integer automation_items_count = ultraschall.GetProject_CountAutomationItems(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the number of automation-items available in a ProjectStateChunk.

It's the entry <POOLEDENV
                        
returns -1 in case of an error

Returnvalues:
 integer automation_items_count the number of automation-items 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the automation-item-count; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file; only used, when projectfilename_with_path=nil 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ AutomationItems_GetAll

Functioncall:

integer number_of_automationitems, table AutomationItems_Table = ultraschall.AutomationItems_GetAll()

Description:
Returns all automation items from the current project as a handy table

The format of the table is as follows:
    AutomationItems[automationitem_idx]["Track"] - the track, in which the automation item is located
    AutomationItems[automationitem_idx]["EnvelopeObject"] - the envelope, in which the automationitem is located
    AutomationItems[automationitem_idx]["EnvelopeName"] - the name of the envelope
    AutomationItems[automationitem_idx]["AutomationItem_Index"] - the index of the automation with EnvelopeObject
    AutomationItems[automationitem_idx]["AutomationItem_PoolID"] - the pool-Id of the automation item
    AutomationItems[automationitem_idx]["AutomationItem_Position"] - the position of the automation item in seconds
    AutomationItems[automationitem_idx]["AutomationItem_Length"] - the length of the automation item in seconds
    AutomationItems[automationitem_idx]["AutomationItem_Startoffset"] - the startoffset of the automation item in seconds
    AutomationItems[automationitem_idx]["AutomationItem_Playrate"]- the playrate of the automation item
    AutomationItems[automationitem_idx]["AutomationItem_Baseline"]- the baseline of the automation item, between 0 and 1
    AutomationItems[automationitem_idx]["AutomationItem_Amplitude"]- the amplitude of the automation item, between -1 and +1
    AutomationItems[automationitem_idx]["AutomationItem_LoopSource"]- the loopsource-state of the automation item; 0, unlooped; 1, looped
    AutomationItems[automationitem_idx]["AutomationItem_UISelect"]- the selection-state of the automation item; 0, unselected; nonzero, selected
    AutomationItems[automationitem_idx]["AutomationItem_Pool_QuarteNoteLength"]- the quarternote-length

Returnvalues:
 integer number_of_automationitems the number of automation-items found in the current project 
 table AutomationItems_Table all found automation-items as a handy table(see description for details) 



^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ AutomationItem_Delete

Functioncall:

boolean retval = ultraschall.AutomationItem_Delete(TrackEnvelope env, integer automationitem_idx, optional boolean preservepoints)

Description:
Deletes an Automation-Item, optionally preserves the points who are added to the underlying envelope.

returns false in case of an error

Returnvalues:
 boolean retval true, deleting was successful; false, deleting was not successful 

Parameters:
 TrackEnvelope env the TrackEnvelope, in which the automation-item to be deleted is located 
 integer automationitem_idx the automationitem that shall be deleted; 0, for the first one 
 optional boolean preservepoints true, keepthe envelopepoints and add them to the underlying envelope; nil or false, just delete the AutomationItem 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetMediaItemsFromClipboard

Functioncall:

integer count, array MediaItemStateChunkArray = ultraschall.GetMediaItemsFromClipboard()

Description:
Returns the number of mediaitems and a MediaItemStateChunkArray of the mediaitems, as stored in the clipboard.

It does it by pasting the items at the end of the project, getting them and deleting them again.

Use sparsely and with care, as it uses a lot of resources!

Returnvalues:
 integer count the number of items in the clipboard 
 array MediaItemStatechunkArray the mediaitem-statechunks of the items in the clipboard. One entry for each mediaitem-statechunk. 



^ Reaper version 5.52Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetStringFromClipboard_SWS

Functioncall:

string clipboard_string = ultraschall.GetStringFromClipboard_SWS()

Description:
Returns the content of the clipboard as a string. Uses the SWS-function reaper.CF_GetClipboard, but does everything for you, that is needed for proper use of this function.

Returnvalues:
 string clipboard_string the content of the clipboard as a string 



^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ PutMediaItemsToClipboard_MediaItemArray

Functioncall:

boolean retval = ultraschall.PutMediaItemsToClipboard_MediaItemArray(MediaItemArray MediaItemArray)

Description:
Puts the items in MediaItemArray into the clipboard.

Returns false in case of an error

Returnvalues:
 boolean retval true, if successful; false, if not 

Parameters:
 MediaItemArray MediaItemArray an array with all MediaItems, that shall be put into the clipboard 


^ Reaper version 5.52Ultraschall version 4.00Lua version 5.3 ^ ConvertColor

Functioncall:

integer colorvalue, boolean retval = ultraschall.ConvertColor(integer r, integer g, integer b)

Description:
converts r, g, b-values to native-system-color. Works like reaper's ColorToNative, but doesn't need |0x1000000 added.

returns color-value 0, and retval=false in case of an error

Returnvalues:
 integer colorvalue the native-system-color; 0 to 33554431 

Parameters:
 integer r the red colorvalue 
 integer g the green colorvalue 
 integer b the blue colorvalue 


^ Reaper version 5.52Ultraschall version 4.00Lua version 5.3 ^ ConvertColorReverse

Functioncall:

integer r, integer g, integer b, boolean retval = ultraschall.ConvertColorReverse(integer colorvalue)

Description:
converts a native-system-color to r, g, b-values.

returns 0,0,0,false in case of an error

Returnvalues:
 integer r the red colorvalue 
 integer g the green colorvalue 
 integer b the blue colorvalue 
 boolean retval true, color-conversion was successful; false, color-conversion was unsuccessful 

Parameters:
 integer colorvalue the native-system-color; 0 to 33554431 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ RGB2Grayscale

Functioncall:

integer graycolor = ultraschall.RGB2Grayscale(integer red, integer green, integer blue)

Description:
converts rgb to a grayscale value. Works native on Mac as well on Windows, no color conversion needed.

returns nil in case of an error

Returnvalues:
 integer graycolor the gray color-value, generated from red,blue and green. 

Parameters:
 integer red red-value between 0 and 255. 
 integer green red-value between 0 and 255. 
 integer blue red-value between 0 and 255. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ConvertColorToGFX

Functioncall:

number r, number g, number b, number a = ultraschall.ConvertColorToGFX(integer r, integer g, integer b, integer a)

Description:
converts red,green,blue,alpha-values from 0-255 range to 0-1 range, so these values can be used by Reaper-Lua's gfx.functions().

supports negative-values up from -255 to +255, so you can use the function as well for subtraction of colorvalues.

returns nil in case of error

Returnvalues:
 number r the converted red-value between -1 and +1; nil in case of error 
 number g the converted green-value between -1 and +1 
 number b the converted blue-value between -1 and +1 
 number a the converted alpha-value between -1 and +1 

Parameters:
 integer r the red-color-value between -255 and +255 
 integer g the green-color-value between -255 and +255 
 integer b the blue-color-value between -255 and +255 
 integer a the alpha-color-value between -255 and +255 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ConvertGFXToColor

Functioncall:

integer r, integer g, integer b, integer a = ultraschall.ConvertGFXToColor(number r, number g, number b, number a)

Description:
converts red,green,blue,alpha-values from 0-1 range to 0-255 range, so these values can be used by Reaper's normal color-value-functions.

supports negative-values up from -1 to +1, so you can use the function as well for subtraction of colorvalues.

returns nil in case of error

Returnvalues:
 integer r the red-color-value between -255 and +255 
 integer g the green-color-value between -255 and +255 
 integer b the blue-color-value between -255 and +255 
 integer a the alpha-color-value between -255 and +255 

Parameters:
 number r the converted red-value between -1 and +1; nil in case of error 
 number g the converted green-value between -1 and +1 
 number b the converted blue-value between -1 and +1 
 number a the converted alpha-value between -1 and +1 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ CreateColorTable

Functioncall:

array ColorTable = ultraschall.CreateColorTable(integer startr, integer startg, integer startb, integer endr, integer endg, integer endb, integer number_of_steps)

Description:
Returns a colortable to be used by color-graphics-functions.

The colorvalue for start and end can be 0 to 255 or the other way round 255 to 0

Can be used by ApplyColorTableToTrackColors

returns nil in case of an error

Returnvalues:
 array ColorTable a colortable for the colors with the number of steps of your choice;
each indexentry holds entries "r"(0-255), "g"(0-255), "b"(0-255), "nativecolor" and "gfxr"(0-1), "gfxg"(0-1), "gfxb"(0-1). 

Parameters:
 integer startr start redvalue, between 0 and 255 
 integer startg start greenvalue, between 0 and 255  
 integer startb start bluevalue, between 0 and 255 
 integer endr end redvalue, between 0 and 255 
 integer endg end greenvalue, between 0 and 255 
 integer endb end bluevalue, between 0 and 255 
 integer number_of_steps the number of steps from the lowest to the highest r,g,b-color start/end-values 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ CreateSonicRainboomColorTable

Functioncall:

array ColorTable = ultraschall.CreateSonicRainboomColorTable()

Description:
Returns a colortable in Ultraschall's standard-trackcolor-setting "Sonic Rainboom"-style.

Can be used by ApplyColorTableToTrackColors

Returnvalues:
 array ColorTable a colortable with all values for Ultraschall's track-color "Sonic Rainboom" 



^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ IsValidColorTable

Functioncall:

boolean retval = ultraschall.IsValidColorTable(array ColorTable)

Description:
Checks for valid color-tables.

returns false in case of an error

Returnvalues:
 boolean retval true, if it's a valid ColorTable; false, if it's not a valid ColorTable 

Parameters:
 array ColorTable a table to check for being a valid ColorTable 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ ApplyColorTableToTrackColors

Functioncall:

boolean retval = ultraschall.ApplyColorTableToTrackColors(array ColorTable, integer Spread, integer StartTrack, integer EndTrack)

Description:
Apply a ColorTable to Tracks, to colorize MediaTracks

ColorTables can be created by CreateColorTable

returns false in case of an error

Returnvalues:
 boolean retval true, adjusting track-colors was successful; false, adjusting track-colors was unsuccessful 

Parameters:
 array ColorTable the ColorTable to apply to the MediaTrackColors 
 integer Spread 0, apply ColorTable once; will return false, if fewer colors are in ColorTable available than tracks in the project
nil or 1, repeat the colors from the ColorTable over and over again over the tracks; means: if you have 10 tracks and 5 colors, the colors will fill track 1 to 5 and then again track 6 to 10
2, spread the colors from the ColorTable over all tracks equally 
 integer StartTrack the first track to colorize; nil, to use the first track in project 
 integer EndTrack the last track to colorize; nil, to use the last track in project 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ ApplyColorTableToItemColors

Functioncall:

boolean retval = ultraschall.ApplyColorTableToItemColors(array ColorTable, integer Spread, MediaItemArray MediaItemArray)

Description:
Apply a ColorTable to MediaItems in a MediaItemArray, to colorize MediaItems

ColorTables can be created by CreateColorTable

returns false in case of an error

Returnvalues:
 boolean retval true, adjusting item-colors was successful; false, adjusting item-colors was unsuccessful 

Parameters:
 array ColorTable the ColorTable to apply to the MediaItemColors 
 integer Spread 0, apply ColorTable once; will return false, if fewer colors are in ColorTable available than items in the MediaItemArray
nil or 1, repeat the colors from the ColorTable over and over again over the item; means: if you have 10 items and 5 colors, the colors will fill items 1 to 5 and then again items 6 to 10
2, spread the colors from the ColorTable over all items equally 
 MediaItemArray MediaItemArray an array with all the MediaItems to colorize 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ ChangeColorBrightness

Functioncall:

integer red, integer green, integer blue, boolean retval = ultraschall.ChangeColorBrightness(integer r, integer g, integer b, integer bright_r, optional integer bright_g, optional integer bright_b)

Description:
Changes brightness of a colorvalue. If you only set brightr without setting brightg and brightb, then the value for brightr will affect g and b as well.

If a color-value becomes >255 or <0, it will be set to 255 or 0 respectively.

returns color-value 0,0,0 and retval=false in case of an error

Returnvalues:
 integer red the new red-value 
 integer green the new green-value 
 integer blue the new blue-value 
 boolean retval true, color-calculation was successful; false, color-calculation was unsuccessful 

Parameters:
 integer r the red-value to be changed 
 integer g the green-value to be changed 
 integer b the blue-value to be changed 
 integer bright_r the change in brightness for the red-color; positive, brighter; negative, darker 
 optional integer bright_g the change in brightness for the green-color; positive, brighter; negative, darker; if nil, value in bright_r will be used 
 optional integer bright_b the change in brightness for the blue-color; positive, brighter; negative, darker; if nil, value in bright_r will be used 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ ChangeColorContrast

Functioncall:

integer red, integer green, integer blue, boolean retval = ultraschall.ChangeColorContrast(integer r, integer g, integer b, integer Minimum_r, optional integer Maximum_r, optional integer Minimum_g, optional integer Maximum_g, optional integer Minimum_b, optional integer Maximum_b)

Description:
Changes contrast of a colorvalue.

Minimum will set the new minimal, Maximum will set the new maximum-brightness-level.
If you set Minimum to 0 and Maximum to 255, contrast will not change.

The lower you set Minimum/Maximum, the darker it becomes; the higher, the brighter it becomes.
The farther away Minimum is from Maximum, the stronger the contrast becomes; the closer Minimum is to Maximum, the weaker the contrast becomes.

If you only set Minimum_r and Maximum_r, then these values will be applied to g and b too.

If you omit/set to nil a Maximum-value; it's default value will be 255.

If a color-value becomes >255 or <0, it will be set to 255 or 0 respectively.

returns color-value 0,0,0 and retval=false in case of an error

Returnvalues:
 integer red the new red-value 
 integer green the new green-value 
 integer blue the new blue-value 
 boolean retval true, color-calculation was successful; false, color-calculation was unsuccessful 

Parameters:
 integer r the red-value to be changed 
 integer g the green-value to be changed 
 integer b the blue-value to be changed 
 integer Minimum_r the new minimum brightness of the contrast-range of the red-color 
 optional integer Maximum_r the new maximum brightness of the contrast-range of the red-color; if nil, it will be seen as 255 
 optional integer Minimum_g the new minimum brightness of the contrast-range of the green-color; if nil, it will use the value of Minimum_r 
 optional integer Maximum_g the new maximum brightness of the contrast-range of the green-color; if nil, it will be seen as 255 
 optional integer Minimum_b the new minimum brightness of the contrast-range of the blue-color; if nil, it will use the value of Minimum_r 
 optional integer Maximum_b the new maximum brightness of the contrast-range of the blue-color; if nil, it will be seen as 255 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ ChangeColorSaturation

Functioncall:

integer red, integer green, integer blue, number median, boolean retval = ultraschall.ChangeColorSaturation(integer r, integer g, integer b, integer delta)

Description:
Changes saturation of a colorvalue by delta.

If a color-value becomes >255 or <0, it will be set to 255 or 0 respectively.

returns color-value 0,0,0 and retval=false in case of an error

Returnvalues:
 integer red the new red-value 
 integer green the new green-value 
 integer blue the new blue-value 
 number median the median-value, calculated from the the old red, green and blue, values (red+green+blue)/3, which is the basis for the brightness of the unsaturated value 
 boolean retval true, color-calculation was successful; false, color-calculation was unsuccessful 

Parameters:
 integer r the red-value to be changed 
 integer g the green-value to be changed 
 integer b the blue-value to be changed 
 integer delta the saturation/desaturation-value; negative, desaturates color; positive, saturates color 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ ConvertColorToMac

Functioncall:

integer mac_colorvalue, boolean retval = ultraschall.ConvertColorToMac(integer red, integer green, integer blue)

Description:
Converts a colorvalue to the correct-native-colorvalue for Mac, no matter if you're using Mac, Windows or Linux.

returns 0, false in case of an error

Returnvalues:
 integer mac_colorvalue the Mac-native-colorvalue 
 boolean retval true, if conversion succeeded; false, if conversion failed 

Parameters:
 integer red the red-value of the color 
 integer green the green-value of the color 
 integer blue the blue-value of the color 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ ConvertColorToWin

Functioncall:

integer win_linux_colorvalue, boolean retval = ultraschall.ConvertColorToWin(integer red, integer green, integer blue)

Description:
Converts a colorvalue to the correct-native-colorvalue for Windows/Linux, no matter if you're using Mac, Windows or Linux.

returns 0, false in case of an error

Returnvalues:
 integer win_linux_colorvalue the Windows/Linux-native-colorvalue 
 boolean retval true, if conversion succeeded; false, if conversion failed 

Parameters:
 integer red the red-value of the color 
 integer green the green-value of the color 
 integer blue the blue-value of the color 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ ConvertColorFromMac

Functioncall:

integer red, integer green, integer blue, boolean retval = ultraschall.ConvertColorFromMac(integer mac_colorvalue)

Description:
Converts a native-colorvalue to the correct rgb-color-values for Mac, no matter if you're using Mac, Windows or Linux.

returns 0, 0, 0, false in case of an error

Returnvalues:
 integer red the red-value of the color 
 integer green the green-value of the color 
 integer blue the blue-value of the color 
 boolean retval true, if conversion succeeded; false, if conversion failed 

Parameters:
 integer mac_colorvalue the Mac-native-colorvalue 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ ConvertColorFromWin

Functioncall:

integer red, integer green, integer blue, boolean retval = ultraschall.ConvertColorFromWin(integer win_colorvalue)

Description:
Converts a native-colorvalue to the correct rgb-color-values for Windows/Linux, no matter if you're using Mac, Windows or Linux.

returns 0, 0, 0, false in case of an error

Returnvalues:
 integer red the red-value of the color 
 integer green the green-value of the color 
 integer blue the blue-value of the color 
 boolean retval true, if conversion succeeded; false, if conversion failed 

Parameters:
 integer win_colorvalue the Windows/Linux-native-colorvalue 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ SetIniFileExternalState

Functioncall:

boolean retval = ultraschall.SetIniFileExternalState(string section, string key, string value, string ini_filename_with_path)

Description:
Sets an external state into ini_filename_with_path. Returns false, if it doesn't work.

Returnvalues:
 boolean retval true, if setting the state was successful; false, if setting was unsuccessful 

Parameters:
 string section section of the external state. No = allowed! 
 string key key of the external state. No = allowed! 
 string value value for the key 
 string filename_with_path filename of the ini-file 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ GetIniFileExternalState

Functioncall:

string value = ultraschall.GetIniFileExternalState(string section, string key, string ini_filename_with_path)

Description:
Gets an external state from ini_filename_with_path. Returns -1, if the file does not exist or parameters are invalid.

Returnvalues:
 integer entrylength the length of the returned value 
 string value the value stored in a section->key in a configuration-file 

Parameters:
 string section section of the external state 
 string key key of the external state. No = allowed! 
 string filename_with_path filename of the ini-file 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountIniFileExternalState_sec

Functioncall:

integer sectioncount = ultraschall.CountIniFileExternalState_sec(string ini_filename_with_path)

Description:
Count external-state-[sections] from an ini-configurationsfile.

Returns -1, if the file does not exist.

Returnvalues:
 integer sectioncount number of sections within an ini-configuration-file 

Parameters:
 string ini_filename_with_path filename of the ini-file 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountIniFileExternalState_key

Functioncall:

integer keyscount = ultraschall.CountIniFileExternalState_key(string section, string ini_filename_with_path)

Description:
Count external-state-keys within a specific section, in a ini_filename_with_path.

Returns -1, if file does not exist.

Returnvalues:
 integer keyscount number of keys with section within an ini-configuration-file 

Parameters:
 string section the section within the ini-filename 
 string ini_filename_with_path filename of the ini-file 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ EnumerateIniFileExternalState_sec

Functioncall:

string sectionname = ultraschall.EnumerateIniFileExternalState_sec(integer number_of_section, string ini_filename_with_path)

Description:
Returns the numberth section in an ini_filename_with_path.

Returns nil, in case of an error.

Returnvalues:
 string sectionname the name of the numberth section in the ini-file 

Parameters:
 integer number_of_section the section within the ini-filename; 1, for the first section 
 string ini_filename_with_path filename of the ini-file 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ EnumerateIniFileExternalState_key

Functioncall:

string keyname = ultraschall.EnumerateIniFileExternalState_key(string section, integer number, string ini_filename_with_path)

Description:
Returns the numberth key within a section in an ini_filename_with_path.

Returns nil, in case of an error.

Returnvalues:
 string keyname the name of the numberth key within section in the ini-file 

Parameters:
 string section the name of the section 
 integer number the number of the key within a section within the ini-filename, with 1 for the first key in the section 
 string ini_filename_with_path filename of the ini-file 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountSectionsByPattern

Functioncall:

integer number_of_sections, string sectionnames = ultraschall.CountSectionsByPattern(string pattern, string ini_filename_with_path)

Description:
Counts the number of sections within an ini-file, that fit a specific pattern.

Uses "pattern"-string to determine, how often a section with a certain pattern exists. Good for sections, that have a number in them, like [section1], [section2], [section3].
Returns the number of sections, that include that pattern as well as a string, that includes the names of all such sections, separated by a comma.

Pattern can also contain patterns for pattern matching. Refer the LUA-docs for pattern matching.
i.e. characters like ^$()%.[]*+-? must be escaped with a %, means: %[%]%(%) etc

Returns -1, in case of an error.

Returnvalues:
 integer number_of_sections the number of sections, that fit the pattern 
 string sectionnames a string, like: [section1],[section8],[section99] 

Parameters:
 string pattern the pattern itself. Case sensitive. 
 string ini_filename_with_path filename of the ini-file 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountKeysByPattern

Functioncall:

integer number_of_keys, string sections_and_keys = ultraschall.CountKeysByPattern(string pattern, string ini_filename_with_path)

Description:
Counts the number of keys within an ini-file, that fit a specific pattern.

Uses "pattern"-string to determine, how often a key with a certain pattern exists. Good for keys, that have a number in them, like key1, key2, key3.
Returns the number of keys, that include the pattern, as well as a string with all [sections] that contain keys= with a pattern, separated by a , i.e. [section1],key1=,key2=,key3=,[section2],key1=,key4=

Pattern can also contain patterns for pattern matching. Refer the LUA-docs for pattern matching.
i.e. characters like ^$()%.[]*+-? must be escaped with a %, means: %[%]%(%) etc

Returns -1, in case of an error.

Returnvalues:
 integer number_of_keys the number of keys, that fit the pattern 
 string sections_and_keys a string, like: [section1],Key1=,Key2=,Key3=[section2],Key7= 

Parameters:
 string pattern the pattern itself. Case sensitive. 
 string ini_filename_with_path filename of the ini-file 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountValuesByPattern

Functioncall:

integer number_of_values, string sections_and_keys = ultraschall.CountValuesByPattern(string pattern, string ini_filename_with_path)

Description:
Counts the number of values within an ini-file, that fit a specific pattern.

Uses "pattern"-string to determine, how often a value with a certain pattern exists. Good for values, that have a number in them, like value1, value2, value3
Returns the number of values, that include that pattern as well as a string, that contains the [sections] and the keys= and values , the latter that contain the pattern, separated by a comma
e.g. [section1], key1=, value, key4=, value, [section4], key2=, value

Pattern can also contain patterns for pattern matching. Refer the LUA-docs for pattern matching.
i.e. characters like ^$()%.[]*+-? must be escaped with a %, means: %[%]%(%) etc

Returns -1, in case of an error.

Returnvalues:
 integer number_of_values the number of values, that fit the pattern 
 string sections_keys_values a string, like: [section1],key1=,value,key4=,value,[section4],key2=,value 

Parameters:
 string pattern the pattern itself. Case sensitive. 
 string ini_filename_with_path filename of the ini-file 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ EnumerateSectionsByPattern

Functioncall:

string sectionname = ultraschall.EnumerateSectionsByPattern(string pattern, integer id, string ini_filename_with_path)

Description:
Returns the numberth section within an ini-file, that fits the pattern, e.g. the third section containing "hawaii" in it.

Uses "pattern"-string to determine if a section contains a certain pattern. Good for sections, that have a number in them, like section1, section2, section3
Returns the section that includes that pattern as a string, numbered by id.

Pattern can also contain patterns for pattern matching. Refer the LUA-docs for pattern matching.
i.e. characters like ^$()%.[]*+-? must be escaped with a %, means: %[%]%(%) etc

Returns nil, in case of an error.

Returnvalues:
 string sectionname a string, that contains the sectionname 

Parameters:
 string pattern the pattern itself. Case sensitive. 
 integer id the number of section, that contains pattern 
 string ini_filename_with_path filename of the ini-file 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ EnumerateKeysByPattern

Functioncall:

string keyname = ultraschall.EnumerateKeysByPattern(string pattern, string section, integer id, string ini_filename_with_path)

Description:
Returns the numberth key within a section in an ini-file, that fits the pattern, e.g. the third key containing "hawaii" in it.

Uses "pattern"-string to determine if a key contains a certain pattern. Good for keys, that have a number in them, like key1=, key2=, key3=
Returns the key that includes that pattern as a string, numbered by id.

Pattern can also contain patterns for pattern matching. Refer the LUA-docs for pattern matching.
i.e. characters like ^$()%.[]*+-? must be escaped with a %, means: %[%]%(%) etc

Returns nil, in case of an error.

Returnvalues:
 string keyname a string, that contains the keyname 

Parameters:
 string pattern the pattern itself. Case sensitive. 
 string section the section, in which to look for the key 
 integer id the number of key, that contains pattern 
 string ini_filename_with_path filename of the ini-file 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ EnumerateValuesByPattern

Functioncall:

string value, string keyname = ultraschall.EnumerateValuesByPattern(string pattern, string section, string id, string ini_filename_with_path)

Description:
Returns the numberth value(and it's accompanying key) within a section in an ini-file, that fits the pattern, e.g. the third value containing "hawaii" in it.

Uses "pattern"-string to determine if a value contains a certain pattern. Good for values, that have a number in them, like value1, value2, value3
Returns the value that includes that pattern as a string, numbered by id, as well as it's accompanying key.

Pattern can also contain patterns for pattern matching. Refer the LUA-docs for pattern matching.
i.e. characters like ^$()%.[]*+-? must be escaped with a %, means: %[%]%(%) etc

Returns nil, in case of an error.

Returnvalues:
 string value the value that contains the pattern 
 string keyname a string, that contains the keyname 

Parameters:
 string pattern the pattern itself. Case sensitive. 
 string section the section, in which to look for the key 
 integer id the number of key, that contains pattern 
 string ini_filename_with_path filename of the ini-file 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetKBIniFilepath

Functioncall:

string kb_ini_path = ultraschall.GetKBIniFilepath()

Description:
Returns the path and filename of the Reaper-kb.ini-file.

Returnvalues:
 string kb_ini_path path and filename of the reaper-kb.ini 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountKBIniActions

Functioncall:

integer actions = ultraschall.CountKBIniActions(string filename_with_path)

Description:
Count the number of "ACT"-Actions of the Reaper-kb.ini-file.
Returns -1, if no such file exists.

Returnvalues:
 integer actions number of actions in the reaper-kb.ini 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountKBIniScripts

Functioncall:

integer scripts = ultraschall.CountKBIniScripts(string filename_with_path)

Description:
Count the number of "SCR"-Scripts of the Reaper-kb.ini-file.
Returns -1, if no such file exists.

Returnvalues:
 integer scripts number of scripts in the reaper-kb.ini 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountKBIniKeys

Functioncall:

integer keys = ultraschall.CountKBIniKeys(string filename_with_path)

Description:
Count the number of "KEY"-Keybindings of the Reaper-kb.ini-file.
Returns -1, if no such file exists.

Returnvalues:
 integer keys number of keys in the reaper-kb.ini 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetKBIniActions

Functioncall:

integer consolidate, integer section, string ActionCommandID, string description, string ActionsToBeExecuted = ultraschall.GetKBIniActions(string filename_with_path, integer idx)

Description:
Get the states of "ACT"-Action number idx. Returns consolidate, section, ActionCommandID, description, ActionsToBeExecuted.
Returns -1, if no such entry or file exists.

Returnvalues:
 integer consolidate consolidate-state
1 consolidate undo points,
2 show in Actions-Menu,
3 consolidate undo points AND show in Actions Menu;
maybe 4 and higher? 

Parameters:
 string filename_with_path path and filename of the reaper-kb.ini 
 integer idx the number of the action to get, beginning with 1 for the first one 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetKBIniScripts

Functioncall:

integer terminateinstance, integer section, string ActionCommandID, string description, string scriptfile = ultraschall.GetKBIniScripts(string filename_with_path, integer idx)

Description:
Get the states of "SCR"-Scripts number idx. Returns terminateinstance, section, ActionCommandID, description, scriptfile.
Returns -1, if no such entry or file exists.

Returnvalues:
 integer terminateinstance the state of terminating instances
4 - Dialogwindow appears(Terminate, New Instance, Abort), if another instance of a given script is started, that's already running
260 - always Terminate Instances, when an instance of the script is already running
516 - always start a New Instance of the script already running 

Parameters:
 string filename_with_path path and filename of the reaper-kb.ini 
 integer idx the number of the action to get, beginning with 1 for the first one 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetKBIniKeys

Functioncall:

integer keytype_modifier_midichan, integer key_midinote, string ActionCommandID, integer section = ultraschall.GetKBIniKeys(string filename_with_path, integer idx)

Description:
Get the states of "KEY"-Keybinding-number idx, for MIDI/Key-bindings. Returns keytype_modifier_midichan, key_midinote, ActionCommandID, section.

For a detailed description in how KEY-entries work, refer to Reaper-Filetype-Descriptions.html#Reaper-kb.ini.

Returns -1, if no such entry or file exists.
Does not return OSC-keybindings, as they are stored in OSC/reaper-osc-actions.ini !
returns -1 in case of an error

Returnvalues:
 integer keytype_modifier_midichan Type of Keytype, modifier or midichannel
For a detailed description in how keytype/modifier in KEY-entries work, refer to Reaper-Filetype-Descriptions.html#Reaper-kb.ini
 integer key_midinote the key(like ASCII-Codes) or midinote.
For a detailed description in how key/midinotes in KEY-entries work, refer to Reaper-Filetype-Descriptions.html#Reaper-kb.ini

Parameters:
 string filename_with_path path and filename of the reaper-kb.ini 
 integer idx the number of the action to get, beginning with 1 for the first one 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetKBIniActionsID_ByActionCommandID

Functioncall:

string retval = ultraschall.GetKBIniActionsID_ByActionCommandID(filename_with_path, ActionCommandID)

Description:
Returns the indexnumber(s) of actions by ActionCommandIDs within a reaper-kb.ini.
Returns -1, if no such entry or file exists.

Returnvalues:
 string retval the ids of actions with ActionCommandID, separated by a , 

Parameters:
 string filename_with_path path and filename of the reaper-kb.ini 
 string ActionCommandID the ActionCommandID 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetKBIniScripts_ByActionCommandID

Functioncall:

string retval = ultraschall.GetKBIniScripts_ByActionCommandID(filename_with_path, ActionCommandID)

Description:
Returns the indexnumber(s) of scripts by ActionCommandIDs within a reaper-kb.ini.
Returns nil, if no such entry or file exists.

Returnvalues:
 string retval the ids of scripts with ActionCommandID, separated by a , 

Parameters:
 string filename_with_path path and filename of the reaper-kb.ini 
 string ActionCommandID the ActionCommandID 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetKBIniKeys_ByActionCommandID

Functioncall:

string retval = ultraschall.GetKBIniKeys_ByActionCommandID(filename_with_path, ActionCommandID)

Description:
Returns the indexnumber(s) of keys by ActionCommandIDs within a reaper-kb.ini.
Returns nil, if no such entry or file exists.

Returnvalues:
 string retval the ids of keys with ActionCommandID, separated by a , 

Parameters:
 string filename_with_path path and filename of the reaper-kb.ini 
 string ActionCommandID the ActionCommandID 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetKBIniActions

Functioncall:

boolean retval, integer actionnumber = ultraschall.SetKBIniActions(string filename_with_path, integer consolidate, integer section, string ActionCommandID, string Description, string ActionCommandIDs, boolean replace)

Description:
Adds or sets(if it already exists) an "ACT"-action of a reaper-kb.ini.
Returns true/false when adding or setting worked/didn't work, as well as the action-number within the reaper-kb.ini

Needs a restart of Reaper for this change to take effect!

Returnvalues:
 boolean retval true, if adding/setting worked, false if it didn't 
 integer actionnumber the entrynumber within the reaper-kb.ini of this action 

Parameters:
 string filename_with_path filename with path for the reaper-kb.ini 
 integer consolidate consolidation state of this action
1 consolidate undo points,
2 show in Actions-Menu,
3 consolidate undo points AND show in Actions Menu;
maybe 4 and higher? 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetKBIniScripts

Functioncall:

boolean retval, integer scriptnumber = ultraschall.SetKBIniScripts(string filename_with_path, integer terminate, integer section, string ActionCommandID, string Description, string Scriptname, boolean replace)

Description:
Adds or sets(if it already exists) an "SCR"-script of a reaper-kb.ini.
Returns true/false when adding or setting worked/didn't work, as well as the script-number within the reaper-kb.ini

Needs a restart of Reaper for this change to take effect!

Returnvalues:
 boolean retval true, if adding/setting worked, false if it didn't 
 integer scriptnumber the entrynumber within the reaper-kb.ini of this script 

Parameters:
 string filename_with_path filename with path for the reaper-kb.ini 
 integer terminate_state state of handling mulitple running scripts
4 - Dialogwindow appears(Terminate, New Instance, Abort), if another instance of a given script is started, that's already running
260 - always Terminate Instances, when an instance of the script is already running
516 - always start a New Instance of the script already running 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetKBIniKeys

Functioncall:

boolean retval, integer keynumber = ultraschall.SetKBIniKeys(string filename_with_path, integer keytype_modifier_midichan, integer key_midinote, string ActionCommandID, integer section, boolean replace)

Description:
Adds or sets(if it already exists) a "KEY"-key of a reaper-kb.ini.
Returns true/false when adding or setting worked/didn't work, as well as the keybinding-number within the reaper-kb.ini.
Additional keybindings cannot share the same keytype_modifier_midichan, key_midinote and section at the same time, as every such keybind must be unique.

For a detailed description in how KEY-entries work, refer to Reaper-Filetype-Descriptions.html#Reaper-kb.ini.

Does not support OSC-keybindings, as they are stored in OSC/reaper-osc-actions.ini !

Needs a restart of Reaper for this change to take effect!

returns false in case of an error

Returnvalues:
 boolean retval true, if adding/setting worked, false if it didn't 
 integer scriptnumber the entrynumber within the reaper-kb.ini of this script 

Parameters:
 string filename_with_path filename with path for the reaper-kb.ini 
 integer keytype_modifier_midichan Type of Keytype, modifier or midichannel
For a detailed description in how keytype/modifier in KEY-entries work, refer to Reaper-Filetype-Descriptions.html#Reaper-kb.ini
 integer key_midinote the key(like ASCII-Codes) or midinote.
For a detailed description in how key/midinotes in KEY-entries work, refer to Reaper-Filetype-Descriptions.html#Reaper-kb.ini
 string ActionCommandID the ActionCommandID associated with this shortcut. 
 integer section the section, in which this shortcut is used
0 - Main
100 - Main (alt recording)
32060 - MIDI Editor
32061 - MIDI Event List Editor
32062 - MIDI Inline Editor
32063 - Media Explorer 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ DeleteKBIniActions

Functioncall:

boolean retval = ultraschall.DeleteKBIniActions(string filename_with_path, integer idx)

Description:
Deletes an "ACT"-action of a reaper-kb.ini.
Returns true/false when deleting worked/didn't work.

Needs a restart of Reaper for this change to take effect!

Returnvalues:
 boolean retval true, if deleting worked, false if it didn't 

Parameters:
 string filename_with_path filename with path for the reaper-kb.ini 
 integer idx indexnumber of the action within the reaper-kb.ini 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ DeleteKBIniScripts

Functioncall:

boolean retval = ultraschall.DeleteKBIniScripts(string filename_with_path, integer idx)

Description:
Deletes an "SCR"-script of a reaper-kb.ini.
Returns true/false when deleting worked/didn't work.

Needs a restart of Reaper for this change to take effect!

Returnvalues:
 boolean retval true, if deleting worked, false if it didn't 

Parameters:
 string filename_with_path filename with path for the reaper-kb.ini 
 integer idx indexnumber of the script within the reaper-kb.ini 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ DeleteKBIniKeys

Functioncall:

boolean retval = ultraschall.DeleteKBIniKeys(string filename_with_path, integer idx)

Description:
Deletes a "KEY"-keybinding of a reaper-kb.ini.
Returns true/false when deleting worked/didn't work.

Needs a restart of Reaper for this change to take effect!

Returnvalues:
 boolean retval true, if deleting worked, false if it didn't 

Parameters:
 string filename_with_path filename with path for the reaper-kb.ini 
 integer idx indexnumber of the keybinding within the reaper-kb.ini 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ GetIniFileValue

Functioncall:

integer length_of_value, string value = ultraschall.GetIniFileValue(string section, string key, string errval, string inifile)

Description:
Gets a value from a key of an ini-file

returns -1 in case of an error

Returnvalues:
 integer length_of_value the length of the value in bytes 
 string value the value from the key-value-pair 



^ Reaper version 5.965Ultraschall version 4.00SWS version 2.10.0.1Lua version 5.3 ^ SetIniFileValue

Functioncall:

integer retval = ultraschall.SetIniFileValue(string section, string key, string value, string inifile)

Description:
Sets a value of a key in an ini-file

returns -1 in case of an error

Returnvalues:
 integer retval -1, in case of an error; 1, in case of success 



^ Reaper version 6.02Ultraschall version 4.00SWS version 2.10.0.1Lua version 5.3 ^ QueryKeyboardShortcutByKeyID

Functioncall:

string Shortcutname = ultraschall.QueryKeyboardShortcutByKeyID(integer modifier, integer key)

Description:
Returns the name of the shortcut of the modifier-key-values, as stored in the KEY-entries within the reaper-kb.ini

That way, you can take a KEY-entry from the reaper-kb.ini, like

      KEY 1 65 _Ultraschall_Play_From_Editcursor_Position 0
      
Extract the modifier and key-values(1 and 65 in the example) and pass them to this function.
You will get returned "A" as 1 and 65 is the keyboard-shortcut-code for the A-key.

Only necessary for those, who try to read keyboard-shortcuts directly from the reaper-kb.ini to display them in some way.

returns nil in case of an error

Returnvalues:
 string Shortcutname the actual name of the shortcut, like "A" or "F1" or "Ctrl+Alt+Shift+Win+PgUp". 

Parameters:
 integer modifier the modifier value, which is the first one after KEY in a KEY-entry in the reaper-kb.ini-file 
 integer key the key value, which is the second one after KEY in a KEY-entry in the reaper-kb.ini-file 


^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ CharacterCodes_ReverseLookup

Functioncall:

string Character, optional boolean special_modifier, optional boolean shift, optional boolean control, optional boolean alt, optional boolean win, optional boolean opt, optional boolean cmd = ultraschall.CharacterCodes_ReverseLookup(integer byte1, integer byte2, integer byte3, optional integer lang)

Description:
returns the character-code+modifiers of a control-message-character as sent by reaper.StuffMIDIMessage with mode=1
they will be returned as shown in the add shortcut-dialog, though the keyboard-modifiers are returned as extra returnvalues.

optionally, you can select a multitude of keymaps for localization

Note: as there are many different language-keymaps out there, I tried to use some common ones. That also means, that they might be different in detail to your used one.
So the only keymap 100% reliable is the default-us-english one.

returns nil in case of an error

Returnvalues:
 string Character the character/midi-message associated with this character-code 
 optional boolean special_modifier true, this is the special modifier(byte1=255); false, regular character/midimessage
the special modifier stores multizoom, multirotate, multiswipe, mousewheel, mediakbd-buttons 
 optional boolean shift true, shift-key is needed; false, shift-key is not needed 
 optional boolean control true, ctrl-key is needed; false, ctrl-key is not needed 
 optional boolean alt true, alt-key is needed; false, alt-key is not needed 
 optional boolean win true, win-key is needed; false, win-key is not needed 
 optional boolean opt true, opt-key is needed; false, opt-key is not needed - (mac only) 
 optional boolean cmd true, cmd-key is needed; false, cmd-key is not needed - (mac only) 

Parameters:
 integer byte1 the first byte of the StuffMIDIMessage, usually stores modifiers 
 integer byte2 the first byte of the StuffMIDIMessage, usually stores character-codes 
 integer byte3 the first byte of the StuffMIDIMessage, usually stores additional information 
 optional integer lang the languagekeymap used. The following list includes the specific keymap supported
so they might differ in details. I used the ones supported by Windows 7
nil and 1, englisch(usa) default
2, german
3, arabian(saudi arabia)
4, catalan(spain)
5, greek(greece)
6, french(france)
7, hebrew(israel)
8, icelandic(iceland)
9, italian(italy)
10, japanese(japan)
11, russian(russian federation)
12, turkish(turkey)
13, indonesian(indonesia)
14, hindi(india)
15, punjabi(india)
16, chinese_simplified(china)
17, portuguese(portugal)
18, spanish(spain) 


^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ CharacterCodes_ReverseLookup_KBIni

Functioncall:

string Character, optional boolean special_modifier, optional boolean shift, optional boolean control, optional boolean alt, optional boolean win, optional boolean opt, optional boolean cmd = ultraschall.CharacterCodes_ReverseLookup_KBIni(integer byte1, integer byte2, optional integer lang)

Description:
returns the character-code+modifiers of a control-message-character as stored in the KEY-entries in the reaper-kb.ini
they will be returned as shown in the add shortcut-dialog, though the keyboard-modifiers are returned as extra returnvalues.

optionally, you can select a multitude of keymaps for localization

Note: as there are many different language-keymaps out there, I tried to use some common ones. That also means, that they might be different in detail to your used one.
So the only keymap 100% reliable is the default-us-english one.

returns nil in case of an error

Returnvalues:
 string Character the character/midi-message associated with this KEY-entry-character-code 
 optional boolean special_modifier true, this is the special modifier(byte1=255); false, regular character/midimessage
the special modifier stores multizoom, multirotate, multiswipe, mousewheel, mediakbd-buttons 
 optional boolean shift true, shift-key is needed; false, shift-key is not needed 
 optional boolean control true, ctrl-key is needed; false, ctrl-key is not needed 
 optional boolean alt true, alt-key is needed; false, alt-key is not needed 
 optional boolean win true, win-key is needed; false, win-key is not needed 
 optional boolean opt true, opt-key is needed; false, opt-key is not needed - (mac only) 
 optional boolean cmd true, cmd-key is needed; false, cmd-key is not needed - (mac only) 

Parameters:
 integer byte1 the first byte of the kb.ini-KEY-entry, usually stores modifiers 
 integer byte2 the first byte of the kb.ini-KEY-entry, usually stores character-codes 
 optional integer lang the languagekeymap used. The following list includes the specific keymap supported
so they might differ in details. I used the ones supported by Windows 7
nil and 1, englisch(usa) default
2, german
3, arabian(saudi arabia)
4, catalan(spain)
5, greek(greece)
6, french(france)
7, hebrew(israel)
8, icelandic(iceland)
9, italian(italy)
10, japanese(japan)
11, russian(russian federation)
12, turkish(turkey)
13, indonesian(indonesia)
14, hindi(india)
15, punjabi(india)
16, chinese_simplified(china)
17, portuguese(portugal)
18, spanish(spain) 


^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ KBIniGetAllShortcuts

Functioncall:

integer number_of_shortcuts, table shortcut_attributes = ultraschall.KBIniGetAllShortcuts(optional boolean exclude_factory_default, optional integer lang)

Description:
returns all shortcuts currently set in the current Reaper-installation(as stored in reaper-kb.ini) as a handy table.

The table is of the following format:
KeyTable[shortcut_idx]["Code1"] - the first value in a KEY-entry
KeyTable[shortcut_idx]["Code2"] - the second value in a KEY-code
KeyTable[shortcut_idx]["ActionCommandID"] - the action-command id or command-id-number
KeyTable[shortcut_idx]["Section"] - the section: 0 - Main, 100 - Main (alt recording), 32060 - MIDI Editor, 32061 - MIDI Event List Editor, 32062 - MIDI Inline Editor, 32063 - Media Explorer
KeyTable[shortcut_idx]["ShortcutName"] - the keyname as shown in the Add shortcut-dialog; localization depending on language-parameter
KeyTable[shortcut_idx]["Modifier_SpecialModifier"] - true, the special modifier(for mediakbd, mousewheel, multitouch/zoom/swipe); false, midi or regular key
KeyTable[shortcut_idx]["Modifier_Shift"] - true, shift is needed; false, shift is not needed as modifier
KeyTable[shortcut_idx]["Modifier_Control"] - true, control is needed; false, control is not needed as modifier
KeyTable[shortcut_idx]["Modifier_Alt"] - true, alt is needed; false, alt is not needed as modifier
KeyTable[shortcut_idx]["Modifier_Win"] - true, win is needed; false, win is not needed as modifier(for windows)
KeyTable[shortcut_idx]["Modifier_Opt"] - true, opt is needed; false, opt is not needed as modifier(for mac)
KeyTable[shortcut_idx]["Modifier_Cmd"] - true, cmd is needed; false, cmd is not needed as modifier(for mac)
KeyTable[shortcut_idx]["Global_Scope"] - is this shortcut global; -1, no; 1, global; 101, global+textfields
KeyTable[shortcut_idx]["Global_Section"] - the section in which this shortcut is global; 102(main), 103(main alt.)


returns -1 in case of an error

Returnvalues:
 integer number_of_shortcuts the number of found shortcuts 
 table shortcut_attributes a nice and handy table of all shortcut-attributes 

Parameters:
 optional boolean exclude_factory_default true, will only return the custom shortcuts; false or nil, returns all shortcuts, including factory default ones(usually not stored in kb.ini) 
 optional integer lang the languagekeymap used. The following list includes the specific keymap supported
so they might differ in details. I used the ones supported by Windows 7
nil and 1, englisch(usa) default
2, german
3, arabian(saudi arabia)
4, catalan(spain)
5, greek(greece)
6, french(france)
7, hebrew(israel)
8, icelandic(iceland)
9, italian(italy)
10, japanese(japan)
11, russian(russian federation)
12, turkish(turkey)
13, indonesian(indonesia)
14, hindi(india)
15, punjabi(india)
16, chinese_simplified(china)
17, portuguese(portugal)
18, spanish(spain) 


^ Reaper version 5.95Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetSetConfigAcidImport

Functioncall:

integer retval = ultraschall.GetSetConfigAcidImport(boolean set, integer setting, boolean persist)

Description:
Gets/Sets the value of "When importing media"-dropdownlist, as set in the Media with embedded tempo information-section in Preferences -> Video/REX/Misc
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "acidimport", as well as the reaper.ini-entry "REAPER -> acidimport"

returns -1 in case of an error

Returnvalues:
 integer retval the current/new setting-value
-1, an error occured
  0, Adjust media to project tempo
  1, Import media at source tempo
  2, Always prompt when importing media with embedded tempo 

Parameters:
 boolean set true, set a new value; false, return the current value 
 integer setting the current/new setting-value
-1, an error occured
  0, Adjust media to project tempo
  1, Import media at source tempo
  2, Always prompt when importing media with embedded tempo 
 boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper 


^ Reaper version 5.95Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetSetConfigActionMenu

Functioncall:

integer retval = ultraschall.GetSetConfigActionMenu(boolean set, integer setting, boolean persist)

Description:
Gets/Sets the value of "Show recent actions"-entry, as set in the Actions-menu.
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "actionmenu", as well as the reaper.ini-entry "REAPER -> actionmenu"

returns -1 in case of an error

Returnvalues:
 integer retval the current/new setting-value
0, don't show recent actions - unchecked
1, show recent actions - checked 

Parameters:
 boolean set true, set a new value; false, return the current value 
 integer setting the current/new setting-value
0, don't show recent actions - unchecked
1, show recent actions - checked 
 boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper 


^ Reaper version 5.95Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetSetConfigAdjRecLat

Functioncall:

integer retval = ultraschall.GetSetConfigAdjRecLat(boolean set, integer setting, boolean persist)

Description:
Gets/Sets the value of "Use audio driver reported latency"-checkbox, as set in Preferences -> Recording
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "adjreclat", as well as the reaper.ini-entry "REAPER -> adjreclat"

returns -1 in case of an error

Returnvalues:
 integer retval the current/new setting-value
0, don't use audio driver reported latency(off) - unchecked
1, don't use audio driver reported latency(on) - checked 

Parameters:
 boolean set true, set a new value; false, return the current value 
 integer setting the current/new setting-value
0, don't use audio driver reported latency(off) - unchecked
1, don't use audio driver reported latency(on) - checked 
 boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper 


^ Reaper version 5.95Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetSetConfigAdjRecManLat

Functioncall:

integer retval = ultraschall.GetSetConfigAdjRecManLat(boolean set, integer setting, boolean persist)

Description:
Gets/Sets the value of "Output manual offset-samples"-inputbox, as set in Preferences -> Recording
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "adjrecmanlat", as well as the reaper.ini-entry "REAPER -> adjrecmanlat"

returns -1 in case of an error

Returnvalues:
 integer retval the current/new setting-value; 0 to 2147483647; in samples 

Parameters:
 boolean set true, set a new value; false, return the current value 
 integer setting the current/new setting-value; 0 to 2147483647; in samples 
 boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper 


^ Reaper version 5.95Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetSetConfigAfxCfg

Functioncall:

integer retval = ultraschall.GetSetConfigAfxCfg(boolean set, integer setting, boolean persist)

Description:
Gets/Sets the value of the audioformat for "Apply FX, Glue, Freeze, etc", as set in the Project Settings->Media-dialog
Only sets the format, not the individual format-settings(like bitrate, etc)!
To keep the setting for new projects as standard-setting after restart of Reaper, set persist=true

This alters the configuration-variable "afxcfg", as well as the reaper.ini-entry "REAPER -> afxcfg"

returns -1 in case of an error

Returnvalues:
 integer retval the current/newly set audioformat
0, not set yet
1179012432, Video (ffmpeg/libav encoder)
1195984416, Video (GIF)
1279477280, Video (LCF)
1332176723, OGG Opus
1634297446, AIFF
1684303904, DDP
1718378851, FLAC
1769172768, Audio CD Image(CUE/BIN format)
1836069740, MP3 (encoder by LAME project)
1869047670, OGG Vorbis
2002876005, WAV
2004250731, WavPack lossless compressor 

Parameters:
 boolean set true, set a new value; false, return the current value 
 integer setting the new set audioformat
1179012432, Video (ffmpeg/libav encoder)
1195984416, Video (GIF)
1279477280, Video (LCF)
1332176723, OGG Opus
1634297446, AIFF
1684303904, DDP
1718378851, FLAC
1769172768, Audio CD Image(CUE/BIN format)
1836069740, MP3 (encoder by LAME project)
1869047670, OGG Vorbis
2002876005, WAV
2004250731, WavPack lossless compressor 
 boolean persist true, this setting will be standard-setting for new projects after restart of Reaper; false, setting will be lost after exiting Reaper 


^ Reaper version 5.95Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetSetConfigAllStereoPairs

Functioncall:

integer retval = ultraschall.GetSetConfigAllStereoPairs(boolean set, integer setting, boolean persist)

Description:
Gets/Sets the value of "Show non-standard stereo channel pairs(i.e Input2/Input3 etc)"-checkbox in the Channel naming/mapping-section, as set in Preferences -> Audio
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "allstereopairs", as well as the reaper.ini-entry "REAPER -> allstereopairs"

returns -1 in case of an error

Returnvalues:
 integer retval the current/new setting-value
0, don't show non standard stereo channel pairs(off) - unchecked
1, show non standard stereo channel pairs(on) - checked 

Parameters:
 boolean set true, set a new value; false, return the current value 
 integer setting the current/new setting-value
0, don't show non standard stereo channel pairs(off) - unchecked
1, show non standard stereo channel pairs(on) - checked 
 boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper 


^ Reaper version 5.95Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetSetConfigAlwaysAllowKB

Functioncall:

integer retval = ultraschall.GetSetConfigAlwaysAllowKB(boolean set, integer setting, boolean persist)

Description:
Gets/Sets the value of "Allow keyboard commands even when mouse-editing"-checkbox, as set in Preferences -> General ->Advanced UI/system tweaks
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "alwaysallowkb", as well as the reaper.ini-entry "REAPER -> alwaysallowkb"

returns -1 in case of an error

Returnvalues:
 integer retval the current/new setting-value; 0(don't allow) to 1(allow) 

Parameters:
 boolean set true, set a new value; false, return the current value 
 integer setting the current/new setting-value; 0 to 1 
 boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper 


^ Reaper version 5.95Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetSetConfigApplyFXTail

Functioncall:

integer retval = ultraschall.GetSetConfigApplyFXTail(boolean set, integer setting, boolean persist)

Description:
Gets/Sets the value of "Tail length when using Apply FX to items"-inputbox in milliseconds, as set in Preferences -> Media
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "applyfxtail", as well as the reaper.ini-entry "REAPER -> applyfxtail"

returns -1 in case of an error

Returnvalues:
 integer retval the current/new setting-value; 0 to 2147483647 

Parameters:
 boolean set true, set a new value; false, return the current value 
 integer setting the current/new setting-value; 0 to 2147483647 
 boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper 


^ Reaper version 5.95Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetSetConfigAdjRecManLatIn

Functioncall:

integer retval = ultraschall.GetSetConfigAdjRecManLatIn(boolean set, integer setting, boolean persist)

Description:
Gets/Sets the value of "Input manual offset-samples"-inputbox, as set in Preferences -> Recording
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "adjrecmanlatin", as well as the reaper.ini-entry "REAPER -> adjrecmanlatin"

returns -1 in case of an error

Returnvalues:
 integer retval the current/new setting-value 

Parameters:
 boolean set true, set a new value; false, return the current value 
 integer setting the current/new setting-value 
 boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper 


^ Reaper version 5.95Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetSetConfigAudioPrShift

Functioncall:

integer retval = ultraschall.GetSetConfigAudioPrShift(boolean set, integer setting, boolean persist)

Description:
Gets/Sets the value of "Preserve pitch in audio items when changing master playrate", as set in the contextmenu of the master-playrate in the transport-area as well as toggled by action 40671(all sections)
This is a project-setting. That means, setting persist to true will have an effect on new projects create, but only after you restarted Reaper!

This alters the configuration-variable "audioprshift", as well as the reaper.ini-entry "REAPER -> audioprshift"

returns -1 in case of an error

Returnvalues:
 integer retval the current/new setting-value
0, don't preserve pitch - unchecked
1, preserve pitch - checked 

Parameters:
 boolean set true, set a new value; false, return the current value
0, don't preserve pitch - unchecked
1, preserve pitch - checked 
 integer setting the current/new setting-value 
 boolean persist true, this setting will be kept for new projects, but only after restart of Reaper; false, old standard-project-setting will be kept 


^ Reaper version 5.95Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetSetConfigAudioCloseStop

Functioncall:

integer retval = ultraschall.GetSetConfigAudioCloseStop(boolean set, integer setting, boolean persist)

Description:
Gets/Sets the value of "Close audio device when stopped and active(less responsive)"-checkbox, as set in Preferences -> Audio  
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "audioclosestop", as well as the reaper.ini-entry "REAPER -> audioclosestop"

returns -1 in case of an error

Returnvalues:
 integer retval the current/new setting-value 

Parameters:
 boolean set true, set a new value; false, return the current value 
 integer setting the current/new setting-value 
 boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper 


^ Reaper version 5.95Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetSetConfigAudioThreadPr

Functioncall:

integer retval = ultraschall.GetSetConfigAudioThreadPr(boolean set, integer setting, boolean persist)

Description:
Gets/Sets the value of "Audio thread priority"-dropdownlist, as set in Preferences -> Device  
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "audiothreadpr", as well as the reaper.ini-entry "REAPER -> audiothreadpr"

returns -1 in case of an error

Returnvalues:
 integer retval the current/new setting-value
-1, ASIO Default / MMCSS Pro Audio / Time Critical  
0, Normal  
1, Above normal  
2, Highest  
3, Time Critical  
4, MMCSS / Time Critical   

Parameters:
 boolean set true, set a new value; false, return the current value 
 integer setting the current/new setting-value
-1, ASIO Default / MMCSS Pro Audio / Time Critical  
0, Normal  
1, Above normal  
2, Highest  
3, Time Critical  
4, MMCSS / Time Critical   
 boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper 


^ Reaper version 5.95Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetSetConfigAudioCloseTrackWnds

Functioncall:

integer retval = ultraschall.GetSetConfigAudioCloseTrackWnds(boolean set, integer setting, boolean persist)

Description:
Gets/Sets the value of "Allow snap grid/track envelope/routing windows to stay open"-checkbox in Preferences -> General -> Advanced UI/system tweaks.  
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "autoclosetrackwnds", as well as the reaper.ini-entry "REAPER -> autoclosetrackwnds"

returns -1 in case of an error

Returnvalues:
 integer retval the current/new setting-value
0, it is allowed(on) - checked  
1, it is not allowed(off) - unchecked   

Parameters:
 boolean set true, set a new value; false, return the current value 
 integer setting the current/new setting-value
0, it is allowed(on) - checked  
1, it is not allowed(off) - unchecked   
 boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper 


^ Reaper version 5.95Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetSetConfigAutoMute

Functioncall:

integer retval = ultraschall.GetSetConfigAutoMute(boolean set, integer setting, boolean persist)

Description:
Gets/Sets the value of "Automute-dropdownlist in the section Mute"-settings, as set in Preferences -> Mute/Solo
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "automute", as well as the reaper.ini-entry "REAPER -> automute"

returns -1 in case of an error

Returnvalues:
 integer retval the current/new setting-value
0, No automatic muting  
1, Automatically mute master track  
2, Automatically mute any track   

Parameters:
 boolean set true, set a new value; false, return the current value 
 integer setting the current/new setting-value
0, No automatic muting  
1, Automatically mute master track  
2, Automatically mute any track   
 boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper 


^ Reaper version 5.95Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetSetConfigAutoMuteFlags

Functioncall:

integer retval = ultraschall.GetSetConfigAutoMuteFlags(boolean set, integer setting, boolean persist)

Description:
Sets the "Reset on playback start"-checkbox in section Mute-settings, as set in Preferences -> Mute/Solo  
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "automuteflags", as well as the reaper.ini-entry "REAPER -> automuteflags"

returns -1 in case of an error

Returnvalues:
 integer retval the current/new setting-value
0, Reset on playback start(on) - checked  
1, Reset on playback start(off) - unchecked   

Parameters:
 boolean set true, set a new value; false, return the current value 
 integer setting the current/new setting-value
0, Reset on playback start(on) - checked  
1, Reset on playback start(off) - unchecked   
 boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper 


^ Reaper version 5.95Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetSetConfigAutoSaveInt

Functioncall:

integer retval = ultraschall.GetSetConfigAutoSaveInt(boolean set, integer setting, boolean persist)

Description:
Sets the "Every x minutes"-inputbox from the Project saving-section, as set in Preferences -> Project.
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "autosaveint", as well as the reaper.ini-entry "REAPER -> autosaveint"

returns -1 in case of an error

Returnvalues:
 integer retval the current/new setting-value
0 to 2147483647; in seconds; higher values become negative 

Parameters:
 boolean set true, set a new value; false, return the current value 
 integer setting the current/new setting-value
0 to 2147483647 in seconds 
 boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper 


^ Reaper version 5.95Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetSetConfigAutoSaveMode

Functioncall:

integer retval = ultraschall.GetSetConfigAutoSaveMode(boolean set, integer setting, boolean persist)

Description:
Sets the "Every x minutes"-dropdownlist from the Project saving-section, as set in Preferences -> Project.
To keep the setting after restart of Reaper, set persist=true

This alters the configuration-variable "autosavemode", as well as the reaper.ini-entry "REAPER -> autosavemode"

returns -1 in case of an error

Returnvalues:
 integer retval the current/new setting-value
0, when not recording  
1, when stopped  
2, any time   

Parameters:
 boolean set true, set a new value; false, return the current value 
 integer setting the current/new setting-value
0, when not recording  
1, when stopped  
2, any time   
 boolean persist true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper 


^ Reaper version 5.941Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetStartNewFileRecSizeState

Functioncall:

boolean start_new_files, boolean offset_file_switches, integer max_rec_size = ultraschall.GetStartNewFileRecSizeState()

Description:
Returns, if Reaper shall start a file after a specified amount of MegaBytes as well, if the fileswitches shall be offset when multitrack-recording and the maximum filesize before starting a new file.

see SetStartNewFileRecSizeState for setting the current settings.

Returnvalues:
 boolean start_new_files true, Reaper starts a new file, when a recorded file reaches max_rec_size; false, files are as long until recording stops 
 boolean offset_file_switches true, When recording multiple tracks, offset file switches for better performance; false, don't offset file-switches 
 integer max_rec_size the maximum length of a recorded file in MegaBytes, before Reaper shall start a new file; only applied when When recording multiple tracks, offset file switches for better performance=true 



^ Reaper version 5.941Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ SetStartNewFileRecSizeState

Functioncall:

boolean retval = ultraschall.SetStartNewFileRecSizeState(boolean start_new_files, boolean offset_file_switches, integer maxrecsize, boolean persist)

Description:
Sets, if Reaper shall start a file after a specified amount of MegaBytes as well, if the fileswitches shall be offset when multitrack-recording and the maximum filesize before starting a new file.

see GetStartNewFileRecSizeState for getting the current settings.

Returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 boolean start_new_files true, Reaper starts a new file, when a recorded file reaches max_rec_size; false, files are as long until recording stops 
 boolean offset_file_switches true, When recording multiple tracks, offset file switches for better performance; false, don't offset file-switches 
 integer max_rec_size the maximum length of a recorded file in MegaBytes, before Reaper shall start a new file; only applied when When recording multiple tracks, offset file switches for better performance=true 
 boolean persist true, set the setting to reaper.ini so it persists after restarting Reaper; false, set it only for the time, until Reaper is restarted 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ GetDeferRunState

Functioncall:

boolean retval = ultraschall.GetDeferRunState(integer deferinstance, optional string scriptidentifier)

Description:
returns the run-state of a Ultraschall-defer-loop in a specific scriptinstance

You can either request the runstate of a Defer-deferred-function(set parameter deferinstance to 0).

returns nil in case of an error.

Returnvalues:
 boolean retval true, defer-instance is running; false, defer-instance isn't running 

Parameters:
 integer deferinstance 0, to use the parameter identifier 
 optional string identifier when deferinstance=0 (when using the Defer-function): the identifier of the defer-cycle, you've started with Defer 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ StopDeferCycle

Functioncall:

boolean retval = ultraschall.StopDeferCycle(string defer_identifier)

Description:
Stops a running ultraschall.Defer-instance of a script-instance.

returns false in case of an error

Returnvalues:
 boolean retval true, stopping this defer-cycle was successful; false, it wasn't successful 

Parameters:
 string defer_identifier the identifier of the defer-cycle of a script-instance 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ Defer

Functioncall:

boolean retval, optional string defer_identifier = ultraschall.Defer(function func, string deferidentifier, optional integer mode, optional number timer_counter, optional boolean protected)

Description:
runs a custom-defer-cycle, which can be individualized.

You can set, how often this defer-cycle shall be run(every x defer-cycle or every x seconds) and even stop the defer-cycle from in- and outside of the script, using the defer_identifier you have given.

To stop such a defer-cycle, use StopDeferCycle, as long as parameter protected is not set to true!
Important: make the deferidentifier as unique as possible(using guids or similar stuff) to avoid naming conflicts with other defer-cycles using the same identifier.
Otherwise, you risk stopping multiple such defer-loops, when using StopDeferCycle!

For the old Defer1 to Defer20-behavior, try ultraschall.ScriptIdentifier..".defer_scriptXX" as defer-identifier, where XX is a number.

returns false in case of an error (e.g. already 1024 defer-cycles are running in the current script-instance)

Returnvalues:
 boolean retval true, running this defer-cycle was successful; false, it wasn't successful 
 optional string defer_identifier if running this defer-cycle was successful, this holds the defer-identifier you've chosen 

Parameters:
 function func the function, you would love to defer to 
 string deferidentifier an identifier, under which you can access this defer-cycle; make it unique using guids in the name, to avoid name-conflicts! 
 optional integer mode 0 or nil, just run as regular defer-cycle
1, run the defer-cycle only every timer_counter-cycle
2, run the defer-cycle only every timer_counter-seconds 
 optional number timer_counter the timer for the defer-cycle
   mode=1: 1 and higher, the next defer-cycle that shall be used by function func. Use 1 for every cycle, 2 for every second cycle.
               30 cycles are approximately 1 second.
   mode=2: 0 and higher, the amount of seconds to wait, until the function func is run the next time. 
 optional boolean protected true, this defer-cycle is protected from being stopped by StopDeferCycle(); false or nil, you can stop this defer-cycle using StopDeferCycle() 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ SetDeferCycleSettings

Functioncall:

boolean retval = ultraschall.SetDeferCycleSettings(string deferidentifier, optional integer mode, optional number timer_counter)

Description:
Sets the mode and timing settings of a running ultraschall.Defer-instance. You can set its mode and the timer/counter-values, even from a script, which does not run the defer-instance!

Returns false in case of failure.

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 string deferidentifier an identifier, under which you can access this defer-cycle; make it unique using guids in the name, to avoid name-conflicts!  
 optional integer mode the timing mode, in which the defer-cycle runs
nil, reset to the default-settings of the Defer-Cycle
0, just run as regular defer-cycle
1, run the defer-cycle only every timer_counter-cycle
2, run the defer-cycle only every timer_counter-seconds  
 optional number timer_counter the timer for the defer-cycle
mode=1: 1 and higher, the next defer-cycle that shall be used by function func. Use 1 for every cycle, 2 for every second cycle.
              30 cycles are approximately 1 second.
mode=2: 0 and higher, the amount of seconds to wait, until the function func is run the next time.  


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetDeferCycleSettings

Functioncall:

integer mode, integer timer_counter = ultraschall.GetDeferCycleSettings(string deferidentifier)

Description:
Gets a the mode and timing-settings of a currently running ultraschall.Defer()-cycle

Returns nil in case of failure.

Returnvalues:
 integer mode the timing mode, in which the defer-cycle runs
0, just run as regular defer-cycle
1, run the defer-cycle only every timer_counter-cycle
2, run the defer-cycle only every timer_counter-seconds  
 number timer_counter the timer for the defer-cycle
mode=1: 1 and higher, the next defer-cycle that shall be used by function func. Use 1 for every cycle, 2 for every second cycle.
              30 cycles are approximately 1 second.
mode=2: 0 and higher, the amount of seconds to wait, until the function func is run the next time.  

Parameters:
 string deferidentifier an identifier, under which you can access this defer-cycle; make it unique using guids in the name, to avoid name-conflicts!  


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsValidEnvStateChunk

Functioncall:

boolean valid = ultraschall.IsValidEnvStateChunk(string EnvelopeStateChunk)

Description:
returns, if a EnvelopeStateChunk is a valid statechunk

returns false, in case of an error

Returnvalues:
 boolean valid true, if the string is a valid statechunk; false, if not a valid statechunk 

Parameters:
 string EnvelopeStateChunk a string to check, if it's a valid EnvelopeStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ MoveTrackEnvelopePointsBy

Functioncall:

integer retval = ultraschall.MoveTrackEnvelopePointsBy(number startposition, number endposition, number moveby, MediaTrack MediaTrack, boolean cut_at_border)

Description:
Moves the envelopepoints between startposition and endposition by moveby in MediaTrack.
It moves all trackenvelope-points for all track-envelopes available.

Does NOT move item-envelopepoints!

Returns -1 in case of failure.

Returnvalues:
 integer retval -1 in case of failure 

Parameters:
 number startposition the startposition in seconds 
 number endposition the endposition in seconds 
 number moveby in seconds, negative values: move toward beginning of project, positive values: move toward the end of project 
 MediaTrack MediaTrack the MediaTrack object of the track, where the EnvelopsPoints shall be moved 
 boolean cut_at_border true, cut envelope-points, that would move outside section between startposition and endposition 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetEnvelopePoint

Functioncall:

number time, number value, integer shape, number tension, boolean selected, number dBVal, array EnvelopePointObject = ultraschall.GetEnvelopePoint(integer Tracknumber, string EnvelopeName, integer idx)

Description:
Returns the values for the idxth envelope point in Tracknumber->EnvelopeName.

returns -1 in case of error

Returnvalues:
 number time the time of the envelope point 
 number value the raw-value of the envelope point 
 integer shape the shape of this envelope
0 - Linear
1 - Square
2 - Slow start/end
3 - Fast start
4 - Fast end
5 - Bezier 
 number tension the intensity of the tension of the shape 
 boolean selected true, if this point is selected; false if not 
 number dBVal the envelopevalue converted to dB 
 array EnvelopePointObject an array with all elements of an envelopepoint
[1] - TrackEnvelope-object
[2] - Envelope-idx, beginning with 0 for the first one
[3] - time
[4] - value
[5] - shape
[6] - tension
[7] - selected
[8] - dBValue converted from value 

Parameters:
 integer Tracknumber the number of the track, beginning with 1. Use 0 for Master Track. 
 string EnvelopeName the name of the envelope-lane 
 integer idx the number of the envelope-point, beginning with 0 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetClosestEnvelopePointIDX_ByTime

Functioncall:

integer idxpre, array EnvelopePointObjectPre, integer idxpost, array EnvelopePointObjectPost = ultraschall.GetClosestEnvelopePointIDX_ByTime(integer Tracknumber, string EnvelopeName, number CheckTime)

Description:
Returns the idxs and EnvelopePointObject of the envelope-points closest to timeposition CheckTime
returns -1 in case of error

Returnvalues:
 integer idxpre the idx of the closest envelopepoint at or before CheckTime 
 array EnvelopePointObjectPre an EnvelopePointObject of idxpre 
 integer idxpost the idx of the closest envelopepoint after CheckTime 
 array EnvelopePointObjectPost an EnvelopePointObject of idxpost 

Parameters:
 integer Tracknumber the number of the track, beginning with 1. Use 0 for Master Track. 
 string EnvelopeName the name of the envelope-lane 
 number CheckTime the time in seconds to check for the closest envelope-points 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetEnvelopePointIDX_Between

Functioncall:

string EnvelopeString, array EnvelopePointArray = ultraschall.GetEnvelopePointIDX_Between(integer Tracknumber, string EnvelopeName, number startposition, number endposition)

Description:
Returns a string and an EnvelopePointArray with all idx/EnvelopePointObjects of all envelopepoints between startposition and endposition in the EnvelopeName-lane.
returns -1 in case of error

Returnvalues:
 string EnvelopeString a string with all envelope-point-idx in the selection, separated by commas. 
 array EnvelopePointArray an array with all EnvelopePointObjects of all envelope-points in selection. 

Parameters:
 integer Tracknumber the number of the track. 1 for track 1, 2 for track 2, etc. 0 for Master-track. 
 string EnvelopeName the name of the envelope-lane, where you want to have the envelope-points of. 
 number startposition the startposition of the selection in seconds. Must be bigger than or equal 0. 
 number endposition the endposition of the selection in seconds. Must be bigger than startposition. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CheckEnvelopePointObject

Functioncall:

boolean retval = ultraschall.CheckEnvelopePointObject(array EnvelopePointObject)

Description:
Checks, if EnvelopePointObject is valid or not.

returns false in case of an error

Returnvalues:
 boolean retval true, if it's a valid EnvelopePointObject; false if not 

Parameters:
 array EnvelopePointObject an array with all information of an envelope point 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsValidEnvelopePointObject

Functioncall:

boolean retval = ultraschall.IsValidEnvelopePointObject(array EnvelopePointObject)

Description:
Checks, if EnvelopePointObject is valid or not.

returns false in case of an error

Returnvalues:
 boolean retval true, if it's a valid EnvelopePointObject; false if not 

Parameters:
 array EnvelopePointObject an array with all information of an envelope point 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetEnvelopePoints_EnvelopePointObject

Functioncall:

boolean retval = ultraschall.SetEnvelopePoints_EnvelopePointObject(array EnvelopePointObject, boolean sort_in)

Description:
Sets an envelope-point, as defined in EnvelopePointObject.

returns true in case of success, false in case of failure.

Returnvalues:
 boolean retval true, if it's a valid EnvelopePointObject; false if not 

Parameters:
 array EnvelopePointObject an array with all information of an envelope point 
 boolean sort_in set true, if setting multiple points at once and call Envelope_SortPoints when done. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetEnvelopePoints_EnvelopePointArray

Functioncall:

boolean retval = ultraschall.SetEnvelopePoints_EnvelopePointArray(array EnvelopePointArray, boolean sort_in)

Description:
Sets envelope-points, as defined in the EnvelopePointObjects, in the EnvelopePointArray.

returns true in case of success, false in case of failure.

Returnvalues:
 boolean retval true, if it's a valid EnvelopePointObject; false if not 

Parameters:
 array EnvelopePointArray an array with all EnvelopePointObjects you want to insert 
 boolean sort_in set true, if setting multiple points at once and call Envelope_SortPoints when done. 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ DeleteEnvelopePoints_EnvelopePointObject

Functioncall:

boolean retval = ultraschall.DeleteEnvelopePoints_EnvelopePointObject(array EnvelopePointObject)

Description:
Deletes an envelope-point, as defined in EnvelopePointObject.

returns true in case of success, false in case of failure.

Returnvalues:
 boolean retval true, if it's a valid EnvelopePointObject; false if not 

Parameters:
 array EnvelopePointObject an array with all information of an envelope point 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ DeleteEnvelopePoints_EnvelopePointArray

Functioncall:

boolean retval = ultraschall.DeleteEnvelopePoints_EnvelopePointArray(array EnvelopePointArray)

Description:
Deletes the envelope-points, as defined in the EnvelopePointObjects, in the EnvelopePointArray.
returns true in case of success, false in case of failure.

Returnvalues:
 boolean retval true, if it's a valid EnvelopePointObject; false if not 

Parameters:
 array EnvelopePointArray an array with all EnvelopePointObjects you want to insert 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ AddEnvelopePoints_EnvelopePointObject

Functioncall:

boolean retval = ultraschall.AddEnvelopePoints_EnvelopePointObject(array EnvelopePointObject, boolean sort_in)

Description:
Adds an envelope-point, as defined in EnvelopePointObject.
returns true in case of success, false in case of failure.

Returnvalues:
 boolean retval true, if it's a valid EnvelopePointObject; false if not 

Parameters:
 array EnvelopePointObject an array with all information of an envelope point 
 boolean sort_in set true, if setting multiple points at once and call Envelope_SortPoints when done. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ AddEnvelopePoints_EnvelopePointArray

Functioncall:

boolean retval = ultraschall.AddEnvelopePoints_EnvelopePointArray(array EnvelopePointArray, boolean sort_in)

Description:
Adds the envelope-points, as defined in the EnvelopePointObjects, in the EnvelopePointArray.
returns true in case of success, false in case of failure.

Returnvalues:
 boolean retval true, if it's a valid EnvelopePointObject; false if not 

Parameters:
 array EnvelopePointArray an array with all EnvelopePointObjects you want to insert 
 boolean sort_in set true, if setting multiple points at once and call Envelope_SortPoints when done. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CreateEnvelopePointObject

Functioncall:

boolean retval, array EnvelopePointObject = ultraschall.CreateEnvelopePointObject(TrackEnvelope TrackEnvelope, integer idx, number time, number value, integer shape, number tension, boolean selected)

Description:
Creates a new EnvelopePointObject, that can be used by other ultraschall-api-envelope-functions

returns false in case of error

Returnvalues:
 boolean retval false in case of error, true in case of success. 
 array EnvelopePointObject an array with all elements of the envelopepoint
[1] - TrackEnvelope-object
[2] - Envelope-idx, beginning with 0 for the first one
[3] - time
[4] - value
[5] - shape
[6] - tension
[7] - selected
[8] - dBValue converted from value 

Parameters:
 TrackEnvelope env the track-envelope, in which this EnvelopePointObject shall be 
 integer idx the number of the envelope-point, beginning with 0 
 number time the time of the envelope point in seconds 
 number value the raw-value of the envelope point 
 integer shape the shape of this envelope
0 - Linear
1 - Square
2 - Slow start/end
3 - Fast start
4 - Fast end
5 - Bezier 
 number tension the intensity of the tension of the shape 
 boolean selected true, if this point is selected; false if not 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountEnvelopePoints

Functioncall:

integer envpoint_count = ultraschall.CountEnvelopePoints(integer Tracknumber, string EnvelopeName)

Description:
Counts and returns the number of envelope-points in track Tracknumber, envelopelane EnvelopeName.

returns -1 in case of error

Returnvalues:
 integer envpoint_count the number of envelope-points in requested track+envelope-lane 

Parameters:
 integer Tracknumber the number of the track, beginning with 1. Use 0 for Master Track. 
 string EnvelopeName the name of the envelope-lane 


^ Reaper version 5.52Ultraschall version 4.00Lua version 5.3 ^ SetEnvelopeHeight

Functioncall:

boolean retval, string TrackEnvelopeStateChunk = ultraschall.SetEnvelopeHeight(integer Height, boolean Compacted, TrackEnvelope TrackEnvelope, string TrackEnvelopeStateChunk)

Description:
Changes the Envelope-lane-height and compactible state of TrackEnvelope or TrackEnvelopeStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true in case of success; false in case of error 
 string TrackEnvelopeStateChunk the altered TrackEnvelopeStateChunk 

Parameters:
 integer Height the height of the envelopelane in pixels when not compacted. Reaper accepts 24-443 currently. Nil keeps old value. 
 boolean Compacted shall the envelopelane be compacted(true) or not(false). Nil keeps old value. 
 TrackEnvelope TrackEnvelope the TrackEnvelope to alter, or nil to use the TrackEnvelopeStateChunk instead 
 optional string TrackEnvelopeStateChunk the TrackEnvelopeStateChunk you want to alter. Will be used only, if TrackEnvelope is set to nil 


^ Reaper version 5.52Ultraschall version 4.00Lua version 5.3 ^ GetAllTrackEnvelopes

Functioncall:

array TrackEnvelopeArray, integer number_of_tracks, integer FirstEnvelopeTrackNumber, integer FirstEnvelopeMaster = ultraschall.GetAllTrackEnvelopes()

Description:
returns all TrackEnvelopes of the current project as a table, number of tracks, the first track that has an envelope, if the master track has an envelope(0) or not (-1)

Returnvalues:
 array TrackEnvelopeArray a table with all envelopes of the current project
the table works as follows:
TrackEnvelopeArray[Tracknumber][0] - number of envelopes for track Tracknumber
TrackEnvelopeArray[Tracknumber][1][Envelopenumber] - the envelope Envelopenumber of track Tracknumber

tracknumber of 0 is for the master track 
 integer number_of_tracks the number of tracks, covered in the TrackEnvelopeArray 
 integer FirstEnvelopeTrackNumber the number of the first track to have an envelope; -1 if theres none 
 integer FirstEnvelopeMaster 0, if the master-track has an envelope, -1 if not. 



^ Reaper version 5.941Ultraschall version 4.00Lua version 5.3 ^ IsValidEnvelopePointArray

Functioncall:

boolean retval = ultraschall.IsValidEnvelopePointArray(EnvelopePointArray EnvelopePointArray)

Description:
Checks, if an EnvelopePointArray is a valid one.

Returns false in case of an error

Returnvalues:
 boolean retval true, EnvelopePointArray is a valid one; false, EnvelopePointArray isn't valid 

Parameters:
 EnvelopePointArray EnvelopePointArray the EnvelopePointArray to check for it's validity 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetLastEnvelopePoint_TrackEnvelope

Functioncall:

boolean retval, optional integer envpointidx, optional number time, optional number value, optional integer shape, optional number tension, optional boolean selected = ultraschall.GetLastEnvelopePoint_TrackEnvelope(TrackEnvelope Envelope)

Description:
Gets the values of the last envelope-point in TrackEnvelope/MediaItemEnvelope.

Note: there's a "hidden" last envelopepoint in every Envelope, which will be ignored by this function. It will return the last visible envelope-point instead!

Returns false in case of an error

Returnvalues:
 boolean retval true, getting the envelopepoint was successful; false, in case of an error 
 optional integer envpointidx the idx of the found envelope-point; with 0 for the first one on the Envelope 
 optional number time the time of the envelope-point in seconds 
 optional number value the value of the envelope-point 
 optional integer shape the shape of the envelope-point
0 - Linear
1 - Square
2 - Slow start/end
3 - Fast start
4 - Fast end
5 - Bezier 
 optional number tension the intensity of the tension of the shape 
 optional boolean selected true, envelope-point is selected; false, it is not selected 

Parameters:
 TrackEnvelope Envelope the Trackenvelope/MediaItemenvelope, whose last point you want 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetArmState_Envelope

Functioncall:

integer retval = ultraschall.GetArmState_Envelope(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)

Description:
Returns the current armed-state of a TrackEnvelope-object.

It is the entry ARM

returns nil in case of error

Returnvalues:
 integer retval 0, unarmed; 1, armed 

Parameters:
 TrackEnvelope TrackEnvelope the TrackEnvelope, whose armed-state you want to know; nil, to use parameter EnvelopeStateChunk instead 
 optional string EnvelopeStateChunk if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ SetArmState_Envelope

Functioncall:

boolean retval, optional string EnvelopeStateChunk = ultraschall.SetArmState_Envelope(TrackEnvelope TrackEnvelope, integer state, optional string EnvelopeStateChunk)

Description:
Sets the new armed-state of a TrackEnvelope-object.

returns false in case of error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 
 optional string EnvelopeStateChunk the altered EnvelopeStateChunk, when parameter TrackEnvelope is set to nil 

Parameters:
 TrackEnvelope TrackEnvelope the TrackEnvelope, whose armed-state you want to change 
 integer state 0, unarmed; 1, armed 
 optional string EnvelopeStateChunk if parameter TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameters and change its arm-state 


^ Reaper version 6.10Ultraschall version 4.2SWS version 2.10.0.1Lua version 5.3 ^ GetTrackEnvelope_ClickState

Functioncall:

boolean clickstate, number position, MediaTrack track, TrackEnvelope envelope, integer EnvelopePointIDX = ultraschall.GetTrackEnvelope_ClickState(integer mouse_button)

Description:
Returns the currently clicked Envelopepoint and TrackEnvelope, as well as the current timeposition.

Works only, if the mouse is above the EnvelopePoint while having it clicked!

Returns false, if no envelope is clicked at

Returnvalues:
 boolean clickstate true, an envelopepoint has been clicked; false, no envelopepoint has been clicked 
 number position the position, at which the mouse has clicked 
 MediaTrack track the track, from which the envelope and it's corresponding point is taken from 
 TrackEnvelope envelope the TrackEnvelope, in which the clicked envelope-point lies 
 integer EnvelopePointIDX the id of the clicked EnvelopePoint 

Parameters:
 integer mouse_button the mousebutton, that shall be clicked at the envelope; you can combine them as flags
-1, get all states
&1, only left mouse button
&2, only right mouse button
&4, Ctrl/Cmd-key
&8, Shift-key
&16, Alt key
&32, Windows key
&64, Middle mouse button 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetEnvelopeState_NumbersOnly

Functioncall:

table values = ultraschall.GetEnvelopeState_NumbersOnly(string state, optional string EnvelopeStateChunk, optional string functionname, optional boolean numbertoggle)

Description:
returns a state from an EnvelopeStateChunk.

It only supports single-entry-states with numbers/integers, separated by spaces!
All other values will be set to nil and strings with spaces will produce weird results!

returns nil in case of an error

Returnvalues:
 table values all values found as numerical indexed array 

Parameters:
 string state the state, whose attributes you want to retrieve 
 string TrackStateChunk a statechunk of an envelope 
 optional string functionname if this function is used within specific gettrackstate-functions, pass here the "host"-functionname, so error-messages will reflect that 
 optional boolean numbertoggle true or nil; converts all values to numbers; false, keep them as string versions 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetEnvelopeState_Act

Functioncall:

integer act, integer automation_settings = ultraschall.GetEnvelopeState_Act(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)

Description:
Returns the current act-state of a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry ACT

returns nil in case of error

Returnvalues:
 integer act 0, bypass on
1, no bypass 
 integer automation_settings automation item-options for this envelope
-1, project default behavior, outside of automation items
0, automation items do not attach underlying envelope
1, automation items attach to the underlying envelope on the right side
2, automation items attach to the underlying envelope on both sides
3, no automation item-options for this envelope
4, bypass underlying envelope outside of automation items 

Parameters:
 TrackEnvelope TrackEnvelope the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead 
 optional string EnvelopeStateChunk if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetEnvelopeState_Vis

Functioncall:

integer visible, integer lane, integer unknown = ultraschall.GetEnvelopeState_Vis(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)

Description:
Returns the current visibility-state of a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry VIS

returns nil in case of error

Returnvalues:
 integer visible 1, envelope is visible
0, envelope is not visible 
 integer lane 1, envelope is in it's own lane
0, envelope is in media-lane 
 integer unknown unknown; default=1 

Parameters:
 TrackEnvelope TrackEnvelope the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead 
 optional string EnvelopeStateChunk if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetEnvelopeState_LaneHeight

Functioncall:

integer height, integer compacted = ultraschall.GetEnvelopeState_LaneHeight(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)

Description:
Returns the current laneheight-state of a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry LANEHEIGHT

returns nil in case of error

Returnvalues:
 integer height the height of this envelope in pixels; 24 - 263 pixels 
 integer compacted 1, envelope-lane is compacted("normal" height is not shown but still stored in height);
0, envelope-lane is "normal" height 

Parameters:
 TrackEnvelope TrackEnvelope the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead 
 optional string EnvelopeStateChunk if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetEnvelopeState_DefShape

Functioncall:

integer shape, integer pitch_custom_envelope_range_takes, integer pitch_snap_values = ultraschall.GetEnvelopeState_DefShape(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)

Description:
Returns the current default-shape-state of a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry DEFSHAPE

returns nil in case of error

Returnvalues:
 integer shape 0, linear
1, square
2, slow start/end
3, fast start
4, fast end
5, bezier 
 integer pitch_custom_envelope_range_takes the custom envelope range as set in the Pitch Envelope Settings; only available in take-fx-envelope "Pitch"
-1, if unset or for non pitch-envelopes
0, Custom envelope range-checkbox unchecked
1-2147483647, the actual semitones 
 integer pitch_snap_values the snap values-dropdownlist as set in the Pitch Envelope Settings-dialog; only available in take-fx-envelope "Pitch"
  -1, unset/Follow global default
  0, Off
  1, 1 Semitone
  2, 50 cent
  3, 25 cent
  4, 10 cent
  5, 5 cent
  6, 1 cent 

Parameters:
 TrackEnvelope TrackEnvelope the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead 
 optional string EnvelopeStateChunk if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetEnvelopeState_Voltype

Functioncall:

integer voltype = ultraschall.GetEnvelopeState_Voltype(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)

Description:
Returns the current voltype-state of a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry VOLTYPE

returns nil in case of error

Returnvalues:
 integer voltype 1, default volume-type is fader-scaling; if VOLTYPE-entry is not existing, default volume-type is amplitude-scaling 

Parameters:
 TrackEnvelope TrackEnvelope the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead 
 optional string EnvelopeStateChunk if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetEnvelopeState_PooledEnvInstance

Functioncall:

integer id, number position, number length, number start_offset, number playrate, integer selected, number baseline, integer loopsource, integer i, number j, integer pool_id, integer mute = ultraschall.GetEnvelopeState_PooledEnvInstance(integer index, TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)

Description:
Returns the current state of a certain automation-item within a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry POOLEDENVINST

returns nil in case of error

Returnvalues:
 integer id counter of automation-items; 1-based 
 number position position in seconds 
 number length length in seconds 
 number start_offset offset in seconds 
 number playrate playrate; minimum value is 0.001; default is 1.000 
 integer selected 1, automation item is selected; 0, automation item isn't selected 
 number baseline 0(-100) to 1(+100); default 0.5(0) 
 number amplitude -2(-200) to 2(+200); default 1 (100) 
 integer loopsource Loop Source; 0 and 1 are allowed settings; 1 is default 
 integer i unknown; 0 is default 
 number j unknown; 0 is default 
 integer pool_id counts the automation-item-instances in this project, including deleted ones; 1-based 
 integer mute 1, mute automation-item; 0, unmute automation-item 

Parameters:
 integer index the index-number of the automation-item, whose states you want to have 
 TrackEnvelope TrackEnvelope the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead 
 optional string EnvelopeStateChunk if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetEnvelopeState_PT

Functioncall:

number position, integer volume, integer point_shape_1, integer point_shape_2, integer selected, number bezier_tens1, number bezier_tens2 = ultraschall.GetEnvelopeState_PT(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)

Description:
Returns the current state of a certain envelope-point within a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry PT

returns nil in case of error

Returnvalues:
 number position position of the point in seconds 
 integer volume volume as fader-value 
 integer point_shape may disappear with certain shapes, when point is unselected
the values for point_shape_1 and point_shape_2 are:
0 0, linear
1 0, square
2 0, slow start/end
3 0, fast start
4 0, fast end
5 1, bezier 
 integer selected 1, selected; disappearing, unselected 
 number unknown disappears, if no bezier is set 
 number bezier_tens2 disappears, if no bezier is set; -1 to 1
0, for no bezier tension
-0.5, for fast-start-beziertension
0.5, for fast-end-beziertension
1, for square-tension 

Parameters:
 integer index the index-number of the envelope-point, whose states you want to have 
 TrackEnvelope TrackEnvelope the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead 
 optional string EnvelopeStateChunk if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetEnvelopeState_EnvName

Functioncall:

string envelopename, optional integer fx_env_id, optional string wet_byp, optional number minimum_range, optional number maximum_range, optional number unknown = ultraschall.GetEnvelopeState_EnvName(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)

Description:
Returns the current envelope-name-state of a TrackEnvelope-object or EnvelopeStateChunk.

It is the opening <-tag of the EnvelopeStateChunk

returns nil in case of error

Returnvalues:
 string envelopename the name of the envelope, usually:
   VOLENV2 - for Volume-envelope
   PANENV2 - for Pan-envelope
   WIDTHENV2 - for Width-envelope
   VOLEN - for Pre-FX-Volume-envelope
   PANENV - for Pre-FX-Pan-envelope
   WIDTHENV - for Pre-FX-Width-envelope
   MUTEENV - for Mute-envelope
   VOLENV3 - for Trim-Volume-envelope
   PARMENV - an envelope for an FX-plugin 
 optional integer fx_env_id fx_env is the id of the envelope, as provided by this fx; beginning with 1 for the first 
 optional string wet_byp wet_byp is either "" if not existing, wet or bypass 
 optional number minimum_range the minimum value, accepted by this envelope; 6 digits-precision 
 optional number maximum_range the maximum-value, accepted by this envelope; 6 digits-precision 
 optional number unknown unknown 

Parameters:
 TrackEnvelope TrackEnvelope the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead 
 optional string EnvelopeStateChunk if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ GetAllTrackEnvelopes

Functioncall:

integer number_of_trackenvelopes, table TrackEnvelopes_Table = ultraschall.GetAllTrackEnvelopes()

Description:
Returns all TrackEnvelopes of all tracks from the current project as a handy table

The format of the table is as follows:
    TrackEnvelopes[trackenvelope_idx]["Track"] - the idx of the track; 0, for mastertrack, 1, for first track, etc
    TrackEnvelopes[trackenvelope_idx]["EnvelopeObject"] - the TrackEnvelope-object
    TrackEnvelopes[trackenvelope_idx]["EnvelopeName"] - the name of of TrackEnvelopeObject

Returnvalues:
 integer number_of_trackenvelopes the number of TrackEnvelopes found in the current project 
 table TrackEnvelopes_Table all found TrackEnvelopes as a handy table(see description for details) 



^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ GetAllTakeEnvelopes

Functioncall:

integer number_of_takeenvelopes, table TakeEnvelopes_Table = ultraschall.GetAllTakeEnvelopes()

Description:
Returns all TakeEnvelopes of all MediaItems from the current project as a handy table

The format of the table is as follows:
    TakeEnvelopes[takeenvelope_idx]["MediaItem"] - the idx of the MediaItem
    TakeEnvelopes[takeenvelope_idx]["MediaItem_Take"] - the idx of the trake of the MediaItem
    TakeEnvelopes[takeenvelope_idx]["MediaItem_Take_Name"] - the name of the MediaItek_Take
    TakeEnvelopes[takeenvelope_idx]["EnvelopeObject"] - the TakeEnvelopeObject in question
    TakeEnvelopes[takeenvelope_idx]["EnvelopeName"] - the name of of TakeEnvelopeObject

Returnvalues:
 integer number_of_takeenvelopes the number of TakeEnvelopes found in the current project 
 table TakeEnvelopes_Table all found TakeEnvelopes as a handy table(see description for details) 



^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ SetEnvelopeState_Vis

Functioncall:

boolean retval, string EnvelopeStateChunk = ultraschall.SetEnvelopeState_Vis(TrackEnvelope env, integer visibility, integer lane, integer unknown, optional string EnvelopeStateChunk)

Description:
sets the current visibility-state of a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry VIS

returns false in case of error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 
 string EnvelopeStateChunk the altered EnvelopeStateChunk 

Parameters:
 TrackEnvelope env the envelope, in whose envelope you want set the visibility states; nil, to us parameter EnvelopeStateChunk instead 
 integer visibility the visibility of the envelope; 0, invisible; 1, visible 
 integer lane the position of the envelope in the lane; 0, envelope is in media-lane; 1, envelope is in it's own lane 
 integer unknown unknown; default=1  
 optional string EnvelopeStateChunk an EnvelopeStateChunk, in which you want to set these settings 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ SetEnvelopeState_Act

Functioncall:

boolean retval = ultraschall.SetEnvelopeState_Act(TrackEnvelope env, integer act, integer automation_settings, optional string EnvelopeStateChunk)

Description:
sets the current bypass and automation-items-settings-state of a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry ACT

returns false in case of error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 
 string EnvelopeStateChunk the altered EnvelopeStateChunk 

Parameters:
 TrackEnvelope env the envelope, in whose envelope you want set the bypass and automation-item-states; nil, to use parameter EnvelopeStateChunk instead 
 integer act bypass-setting;
   0, bypass on
   1, no bypass  
 integer automation_settings automation item-options for this envelope
-1, project default behavior, outside of automation items
0, automation items do not attach underlying envelope
1, automation items attach to the underlying envelope on the right side
2, automation items attach to the underlying envelope on both sides
3, no automation item-options for this envelope
4, bypass underlying envelope outside of automation items  
 optional string EnvelopeStateChunk an EnvelopeStateChunk, in which you want to set these settings 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ SetEnvelopeState_DefShape

Functioncall:

boolean retval, string EnvelopeStateChunk = ultraschall.SetEnvelopeState_DefShape(TrackEnvelope env, integer shape, integer pitch_custom_envelope_range, integer pitch_snap_values, optional string EnvelopeStateChunk)

Description:
sets the current default-shape-states and pitch-snap-settings of a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry DEFSHAPE

returns false in case of error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 
 string EnvelopeStateChunk the altered EnvelopeStateChunk 

Parameters:
 TrackEnvelope env the envelope, in whose envelope you want set the default shape and pitch-snap states; nil, to use parameter EnvelopeStateChunk instead 
 integer shape the default shape of envelope-points
0, linear
1, square
2, slow start/end
3, fast start
4, fast end
5, bezier  
 integer pitch_custom_envelope_range_takes the custom envelope range as set in the Pitch Envelope Settings; only available in take-fx-envelope "Pitch"
-1, if unset or for non pitch-envelopes
0, Custom envelope range-checkbox unchecked
1-2147483647, the actual semitones 
 integer pitch_snap_values the snap values-dropdownlist as set in the Pitch Envelope Settings-dialog; only available in take-fx-envelope "Pitch"
  -1, unset/Follow global default
  0, Off
  1, 1 Semitone
  2, 50 cent
  3, 25 cent
  4, 10 cent
  5, 5 cent
  6, 1 cent 
 optional string EnvelopeStateChunk an EnvelopeStateChunk, in which you want to set these settings 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ SetEnvelopeState_LaneHeight

Functioncall:

boolean retval, string EnvelopeStateChunk = ultraschall.SetEnvelopeState_LaneHeight(TrackEnvelope env, integer height, integer compacted, optional string EnvelopeStateChunk)

Description:
sets the current height-states and compacted-settings of a TrackEnvelope-object or EnvelopeStateChunk.

It is the state entry LANEHEIGHT

returns false in case of error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 
 string EnvelopeStateChunk the altered EnvelopeStateChunk 

Parameters:
 TrackEnvelope env the envelope, whose envelope you want set the height and compacted-states; nil, to us parameter EnvelopeStateChunk instead 
 integer height the height of the laneheight; the height of this envelope in pixels; 24 - 263 pixels 
 integer compacted 1, envelope-lane is compacted("normal" height is not shown but still stored in height);
0, envelope-lane is "normal" height  
 optional string EnvelopeStateChunk an EnvelopeStateChunk, in which you want to set these settings 


^ Reaper version 5.981Ultraschall version 4.1Lua version 5.3 ^ ActivateEnvelope

Functioncall:

boolean retval = ultraschall.ActivateEnvelope(TrackEnvelope env, optional boolean visible, optional boolean bypass)

Description:
Activates an envelope, so it can be displayed in the arrange-view.

Will add an envelope-point at position 0 in the envelope, if no point is in the envelope yet

returns false in case of an error

Returnvalues:
 boolean retval true, activating was successful; false, activating was unsuccessful 

Parameters:
 TrackEnvelope Envelope the envelope, which you want to activate 
 optional boolean visible true or nil, show envelope; false, don't show envelope 
 optional boolean bypass true or nil, don't bypass envelope; false, bypass envelope 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ ActivateTrackVolumeEnv

Functioncall:

boolean retval = ultraschall.ActivateTrackVolumeEnv(integer track)

Description:
activates a volume-envelope of a track

returns false in case of error

Returnvalues:
 boolean retval true, activating was successful; false, activating was unsuccessful 

Parameters:
 integer track the track, whose volume-envelope you want to activate; 1, for the first track 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ ActivateTrackVolumeEnv_TrackObject

Functioncall:

boolean retval = ultraschall.ActivateTrackVolumeEnv_TrackObject(MediaTrack track)

Description:
activates a volume-envelope of a MediaTrack-object

returns false in case of error

Returnvalues:
 boolean retval true, activating was successful; false, activating was unsuccessful 

Parameters:
 MediaTrack track the track, whose volume-envelope you want to activate 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ ActivateTrackPanEnv

Functioncall:

boolean retval = ultraschall.ActivateTrackPanEnv(integer track)

Description:
activates a pan-envelope of a track

returns false in case of error

Returnvalues:
 boolean retval true, activating was successful; false, activating was unsuccessful 

Parameters:
 integer track the track, whose pan-envelope you want to activate; 1, for the first track 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ ActivateTrackPanEnv_TrackObject

Functioncall:

boolean retval = ultraschall.ActivateTrackPanEnv_TrackObject(MediaTrack track)

Description:
activates a pan-envelope of a MediaTrack-object

returns false in case of error

Returnvalues:
 boolean retval true, activating was successful; false, activating was unsuccessful 

Parameters:
 MediaTrack track the track, whose pan-envelope you want to activate 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ ActivateTrackPreFXPanEnv

Functioncall:

boolean retval = ultraschall.ActivateTrackPreFXPanEnv(integer track)

Description:
activates a preFX-pan-envelope of a track

returns false in case of error

Returnvalues:
 boolean retval true, activating was successful; false, activating was unsuccessful 

Parameters:
 integer track the track, whose preFX-pan-envelope you want to activate; 1, for the first track 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ ActivateTrackPreFXPanEnv_TrackObject

Functioncall:

boolean retval = ultraschall.ActivateTrackPreFXPanEnv_TrackObject(MediaTrack track)

Description:
activates a preFX-pan-envelope of a MediaTrack-object

returns false in case of error

Returnvalues:
 boolean retval true, activating was successful; false, activating was unsuccessful 

Parameters:
 MediaTrack track the track, whose prefx-pan-envelope you want to activate 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ ActivateTrackPreFXVolumeEnv

Functioncall:

boolean retval = ultraschall.ActivateTrackPreFXVolumeEnv(integer track)

Description:
activates a preFX-volume-envelope of a track

returns false in case of error

Returnvalues:
 boolean retval true, activating was successful; false, activating was unsuccessful 

Parameters:
 integer track the track, whose preFX-volume-envelope you want to activate; 1, for the first track 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ ActivateTrackPreFXVolumeEnv_TrackObject

Functioncall:

boolean retval = ultraschall.ActivateTrackPreFXVolumeEnv_TrackObject(MediaTrack track)

Description:
activates a preFX-volume-envelope of a MediaTrack-object

returns false in case of error

Returnvalues:
 boolean retval true, activating was successful; false, activating was unsuccessful 

Parameters:
 MediaTrack track the track, whose prefx-volume-envelope you want to activate 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ ActivateTrackTrimVolumeEnv

Functioncall:

boolean retval = ultraschall.ActivateTrackTrimVolumeEnv(integer track)

Description:
activates a trim-volume-envelope of a track

returns false in case of error

Returnvalues:
 boolean retval true, activating was successful; false, activating was unsuccessful 

Parameters:
 integer track the track, whose trim-volume-envelope you want to activate; 1, for the first track 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ ActivateTrackTrimVolumeEnv_TrackObject

Functioncall:

boolean retval = ultraschall.ActivateTrackTrimVolumeEnv_TrackObject(MediaTrack track)

Description:
activates a trim-volume-envelope of a MediaTrack-object

returns false in case of error

Returnvalues:
 boolean retval true, activating was successful; false, activating was unsuccessful 

Parameters:
 MediaTrack track the track, whose trim-volume-envelope you want to activate 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ GetTakeEnvelopeUnderMouseCursor

Functioncall:

TakeEnvelope env, MediaItem_Take take, number projectposition = ultraschall.GetTakeEnvelopeUnderMouseCursor()

Description:
returns the take-envelope underneath the mouse

Returnvalues:
 TakeEnvelope env the take-envelope found unterneath the mouse; nil, if none has been found 
 MediaItem_Take take the take from which the take-envelope is 
 number projectposition the project-position 



^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ IsAnyMuteEnvelopeVisible

Functioncall:

boolean retval = ultraschall.IsAnyMuteEnvelopeVisible(string name)

Description:
returns, if any mute-envelopes are currently set to visible in the current project

Visible=true does include mute-envelopes, who are scrolled outside of the arrangeview

Returnvalues:
 boolean retval true, there are visible mute-envelopes in the project; false, no mute-envelope visible 

Parameters:
 string name the name of the envelope; case-sensitive, just take the one displayed in the envelope-lane
Standard-Envelopes are:
      "Volume (Pre-FX)", "Pan (Pre-FX)", "Width (Pre-FX)", "Volume", "Pan", "Width", "Trim Volume", "Mute"
Plugin's envelopes can also be checked against, like
      "Freq-Band 1 / ReaEQ" 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ IsEnvelope_Track

Functioncall:

boolean retval = ultraschall.IsEnvelope_Track(TrackEnvelope env)

Description:
returns, if the envelope is a track envelope(true) or a take-envelope(false)

returns nil in case of an error

Returnvalues:
 boolean retval true, the envelope is a TrackEnvelope; false, the envelope is a TakeEnvelope 

Parameters:
 TrackEnvelope env the envelope to check 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ IsTrackEnvelopeVisible_ArrangeView

Functioncall:

boolean retval = ultraschall.IsTrackEnvelopeVisible_ArrangeView(TrackEnvelope env)

Description:
returns, if the envelope is currently visible within arrange-view

returns nil in case of an error

Returnvalues:
 boolean retval true, the envelope is a TrackEnvelope; false, the envelope is a TakeEnvelope 

Parameters:
 TrackEnvelope env the envelope to check for visibility 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_EnumerateStartupEvents

Functioncall:

string EventIdentifier, string Eventname, string CallerScriptIdentifier, number CheckAllXSeconds, number CheckForXSeconds, boolean StartActionsOnceDuringTrue, boolean Paused, function CheckFunction, number NumberOfActions, table Actions = ultraschall.EventManager_EnumerateStartupEvents(integer index)

Description:
Enumerates already existing startupevents, that shall be automatically run at startup of the Ultraschall Event Manager.

That means, if you start the EventManager, it will be started automatically to the EventManager-checking-queue, without the need of registering it by hand.

returns nil in case of an error

Returnvalues:
 string EventIdentifier the EventIdentifier of the startup-event 
 string EventName a name for the startupevent 
 string CallerScriptIdentifier the ScriptIdentifier of the script, which added this event to the StartUpEvents 
 integer CheckAllXSeconds only check all x seconds; 0, for constant checking
this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases!
This is due general limitations with backgroundscripts. 
 integer CheckForXSeconds only check for x seconds; 0, check until the event is removed
this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases!
This is due general limitations with backgroundscripts. 
 boolean StartActionsOnceDuringTrue if the event occurred:
    true, run the actions only once;
    false, run until the CheckFunction returns false again 
 boolean Paused true, the event shall be started as paused; false, the event shall be run immediately 
 function CheckFunction the function, which shall check if the event occurred 
 integer NumberOfActions the number of actions currently registered with this event 
 table Actions a table which holds all actions and their accompanying sections, who are run when the event occurred
each entry of the table is of the format "actioncommandid,section", e.g.:

Actions[1]="1007,0"
Actions[2]="1012,0" 

Parameters:
 integer index the index of the StartUp-event, whose attributes you want to get; 1 for the first, etc 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_EnumerateStartupEvents2

Functioncall:

integer index, string EventIdentifier, string Eventname, string CallerScriptIdentifier, number CheckAllXSeconds, number CheckForXSeconds, boolean StartActionsOnceDuringTrue, boolean Paused, function CheckFunction, number NumberOfActions, table Actions = ultraschall.EventManager_EnumerateStartupEvents2(string EventIdentifier)

Description:
Enumerates already existing startupevents by an EventIdentifier.

StartupEvents are events, that shall be automatically run at startup of the Ultraschall Event Manager.
That means, if you start the EventManager, it will be started automatically to the EventManager-checking-queue, without the need of registering it by hand.

returns nil in case of an error

Returnvalues:
 integer index the index of the StartupEvent within all StartUpEvents 
 string EventIdentifier the EventIdentifier of the startup-event 
 string EventName a name for the startupevent 
 string CallerScriptIdentifier the ScriptIdentifier of the script, which added this event to the StartUpEvents 
 integer CheckAllXSeconds only check all x seconds; 0, for constant checking
this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases!
This is due general limitations with backgroundscripts. 
 integer CheckForXSeconds only check for x seconds; 0, check until the event is removed
this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases!
This is due general limitations with backgroundscripts. 
 boolean StartActionsOnceDuringTrue if the event occurred:
    true, run the actions only once;
    false, run until the CheckFunction returns false again 
 boolean Paused true, the event shall be started as paused; false, the event shall be run immediately 
 function CheckFunction the function, which shall check if the event occurred 
 integer NumberOfActions the number of actions currently registered with this event 
 table Actions a table which holds all actions and their accompanying sections, who are run when the event occurred
each entry of the table is of the format "actioncommandid,section", e.g.:

Actions[1]="1007,0"
Actions[2]="1012,0" 

Parameters:
 string EventIdentifier the identifier of the StartupEvent, that you want to enumerate 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_AddEvent

Functioncall:

string event_identifier = ultraschall.EventManager_AddEvent(string EventName, integer CheckAllXSeconds, integer CheckForXSeconds, boolean StartActionsOnceDuringTrue, boolean EventPaused, function CheckFunction, table Actions)

Description:
Adds a new event to the Ultraschall Event Manager-checking-queue.

returns nil in case of an error

Returnvalues:
 string event_identifier the unique identifier for this registered event, which can be used later for setting, deleting, etc 

Parameters:
 string EventName a name for the event, which you can choose freely; duplicated eventnames are allowed 
 integer CheckAllXSeconds only check all x seconds; 0, for constant checking
this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases!
This is due general limitations with backgroundscripts. 
 integer CheckForXSeconds only check for x seconds; 0, check until the event is removed
this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases!
This is due general limitations with backgroundscripts. 
 boolean StartActionsOnceDuringTrue if the event occurred:
    true, run the actions only once;
    false, run until the CheckFunction returns false again 
 boolean EventPaused false, register the event and check for it immediately; true, register the event but don't check for it yet 
 function CheckFunction the function, which shall check if the event occurred
this function must return true if the event occurred and false, if not
No global variables allowed! Instead, the eventmanager will pass to it as first parameter a table which can be used for storing information 
 table Actions a table which holds all actions and their accompanying sections, who shall be run when the event occurred
each entry of the table must be of the format "actioncommandid,section", e.g.:

Actions[1]="1007,0"
Actions[2]="1012,0"

You can have as many actions as you like, but be aware, that running too many actions may delay further eventchecking! 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_IsValidEventIdentifier

Functioncall:

boolean valid, boolean valid_inuse = ultraschall.EventManager_IsValidEventIdentifier(string event_identifier)

Description:
Checks, if a string is a valid EventIdentifier (valid) and currently registered with an event(valid_inuse) in the Ultraschall-EventManager-checking-queue.

returns false in case of an error

Returnvalues:
 boolean valid true, valid EventIdentifier; false, no valid EventIdentifier 
 boolean valid_inuse true, valid EventIdentifier, which is currently registered and in use by the EventManager; false, no currently registered EventIdentifier 

Parameters:
 string event_identifier the unique identifier of the registered event, that you want to check 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_RemoveEvent

Functioncall:

boolean retval = ultraschall.EventManager_RemoveEvent(string event_identifier)

Description:
Removes a new event to the Ultraschall Event Manager-checking-queue.

returns false in case of an error

Returnvalues:
 boolean retval true, removing was successful; false, removing was unsuccessful 

Parameters:
 string event_identifier the unique identifier of the registered event, which you want to remove from the EventManager 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_RemoveAllEvents_Script

Functioncall:

boolean retval = ultraschall.EventManager_RemoveAllEvents_Script(string ScriptIdentifier)

Description:
Removes all registered events from a script with a certain ScriptIdentifier in the Ultraschall Event Manager-checking-queue.

returns false in case of an error

Returnvalues:
 boolean retval true, removing was successful; false, removing was unsuccessful 

Parameters:
 string ScriptIdentifier the unique identifier of the registered event, which you want to remove from the EventManager 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_SetEvent

Functioncall:

boolean retval = ultraschall.EventManager_SetEvent(string EventIdentifier, optional string EventName, optional integer CheckAllXSeconds, optional integer CheckForXSeconds, optional boolean StartActionsOnceDuringTrue, optional boolean EventPaused, optional function CheckFunction, optional table Actions)

Description:
Sets the attributes of an already added event in the Ultraschall Event Manager-checking-queue.

returns nil in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting wasn't successful 

Parameters:
 string EventIdentifier the EventIdentifier of the registered event, which you want to set 
 optional string EventName a name for the event, which you can choose freely; duplicated eventnames are allowed; nil, keep the old name 
 optional integer CheckAllXSeconds only check all x seconds; 0, for constant checking; nil, keep the old value
this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases!
This is due general limitations with backgroundscripts. 
 optional integer CheckForXSeconds only check for x seconds; 0, check until the event is removed; nil, keep the old value
this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases!
This is due general limitations with backgroundscripts. 
 optional boolean StartActionsOnceDuringTrue if the event occurred:
    true, run the actions only once;
    false, run until the CheckFunction returns false again
    nil, keep the old value 
 optional boolean EventPaused false, register the event and check for it immediately; true, register the event but don't check for it yet; nil, keep the old value 
 optional function CheckFunction the function, which shall check if the event occurred; nil, keep the old function
this function must return true if the event occurred and false, if not
No global variables allowed! Instead, the eventmanager will pass to the function as first parameter a table which can be used for storing information 
 optional table Actions a table which holds all actions and their accompanying sections, who shall be run when the event occurred; nil, keep the old actionlist
each entry of the table must be of the format "actioncommandid,section", e.g.:

Actions[1]="1007,0"
Actions[2]="1012,0"

You can have as many actions as you like, but be aware, that running too many actions may delay further eventchecking! 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_EnumerateEvents

Functioncall:

string EventIdentifier, string EventName, string CallerScriptIdentifier, integer CheckAllXSeconds, integer CheckForXSeconds, boolean StartActionsOnceDuringTrue, boolean EventPaused, function CheckFunction, integer NumberOfActions, table Actions = ultraschall.EventManager_EnumerateEvents(integer id)

Description:
Gets the attributes of an already added event in the Ultraschall Event Manager-checking-queue.

returns nil in case of an error

Returnvalues:
 string EventIdentifier the EventIdentifier of the registered event 
 string EventName the name of the event 
 string CallerScriptIdentifier the ScriptIdentifier of the script, who registered the event 
 integer CheckAllXSeconds only check all x seconds; 0, for constant checking
this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases!
This is due general limitations with backgroundscripts. 
 integer CheckForXSeconds only check for x seconds; 0, check until the event is removed
this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases!
This is due general limitations with backgroundscripts. 
 boolean StartActionsOnceDuringTrue if the event occurred:
    true, run the actions only once
    false, run until the CheckFunction returns false again 
 boolean EventPaused true, eventcheck is currently paused; false, eventcheck is currently running 
 function CheckFunction the function, which shall check if the event occurred 
 integer NumberOfActions the number of actions currently registered with this event 
 table Actions a table which holds all actions and their accompanying sections, who are run when the event occurred
each entry of the table is of the format "actioncommandid,section", e.g.:

Actions[1]="1007,0"
Actions[2]="1012,0" 

Parameters:
 integer id the id of the currently registered event, of which you want to have the attributes; starting with 1 for the first 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_EnumerateEvents2

Functioncall:

string EventIdentifier, string EventName, string CallerScriptIdentifier, integer CheckAllXSeconds, integer CheckForXSeconds, boolean StartActionsOnceDuringTrue, boolean EventPaused, function CheckFunction, integer NumberOfActions, table Actions = ultraschall.EventManager_EnumerateEvents2(string EventIdentifier)

Description:
Gets the attributes of an already added event in the Ultraschall Event Manager-checking-queue.

returns nil in case of an error

Returnvalues:
 string EventIdentifier the EventIdentifier of the registered event 
 string EventName the name of the event 
 string CallerScriptIdentifier the ScriptIdentifier of the script, who registered the event 
 integer CheckAllXSeconds only check all x seconds; 0, for constant checking
this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases!
This is due general limitations with backgroundscripts. 
 integer CheckForXSeconds only check for x seconds; 0, check until the event is removed
this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases!
This is due general limitations with backgroundscripts. 
 boolean StartActionsOnceDuringTrue if the event occurred:
    true, run the actions only once
    false, run until the CheckFunction returns false again 
 boolean EventPaused true, eventcheck is currently paused; false, eventcheck is currently running 
 function CheckFunction the function, which shall check if the event occurred 
 integer NumberOfActions the number of actions currently registered with this event 
 table Actions a table which holds all actions and their accompanying sections, who are run when the event occurred
each entry of the table is of the format "actioncommandid,section", e.g.:

Actions[1]="1007,0"
Actions[2]="1012,0" 

Parameters:
 string Eventidentifier the EventIdentifier of the currently registered event, of which you want to have the attributes 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_CountRegisteredEvents

Functioncall:

integer count_of_registered_events = ultraschall.EventManager_CountRegisteredEvents()

Description:
Returns the number of currently registered events in the EventManager-checking-queue

Returnvalues:
 integer count_of_registered_events the number of currently registered events 



^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_GetLastUpdateTime

Functioncall:

string datetime, number precise_time = ultraschall.EventManager_GetLastUpdateTime()

Description:
Returns the last time, the eventlist in the EventManager had been updated in any way.

Returnvalues:
 string datetime the date and time of the last update, as returned by os.date() 
 number precise_time the last update time as number, as returned by reaper.time_precise() 



^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_PauseEvent

Functioncall:

boolean retval = ultraschall.EventManager_PauseEvent(string event_identifier)

Description:
Pauses a registered event in the Ultraschall Event Manager-checking-queue.

returns false in case of an error

Returnvalues:
 boolean retval true, pausing was successful; false, pausing was unsuccessful 

Parameters:
 string event_identifier the unique identifier of the registered event, which you want to pause in the EventManager 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_ResumeEvent

Functioncall:

boolean retval = ultraschall.EventManager_ResumeEvent(string event_identifier)

Description:
Resumes a registered and paused event in the Ultraschall Event Manager-checking-queue.

returns false in case of an error

Returnvalues:
 boolean retval true, resuming was successful; false, resuming was unsuccessful 

Parameters:
 string event_identifier the unique identifier of the registered event, which you want to resume in the EventManager 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_Start

Functioncall:

boolean retval = ultraschall.EventManager_Start()

Description:
Starts the Ultraschall-EventManager, if it has not been started yet.

Returnvalues:
 boolean retval true, EventManager has been started successfully; false, EventManager couldn't be started 



^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_Stop

Functioncall:

ultraschall.EventManager_Stop(optional boolean force, optional string ScriptIdentifier)

Description:
Unregisters the current script; will stop the EventManager if no scripts are registered anymore to the EventManager.

You can use the parameter force to force stopping of the EventManager immediately.


Parameters:
 optional boolean force true, stops the EventManager, even if other scripts have registered events to it; false or nil, don't force stop 
 optional string ScriptIdentifier if you want to unregister events from a different script, pass here the ScriptIdentifier of this script; nil, use the ScriptIdentifier of the current script 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_AddStartupEvent

Functioncall:

string event_identifier = ultraschall.EventManager_AddStartupEvent(string EventName, integer CheckAllXSeconds, integer CheckForXSeconds, boolean StartActionsOnceDuringTrue, boolean EventPaused, function CheckFunction, table Actions)

Description:
Adds a new event, that shall be automatically registered at startup of the Ultraschall Event Manager.

That means, if you start the EventManager, it will be added automatically to the EventManager-checking-queue, without the need of registering it by hand.

returns nil in case of an error

Returnvalues:
 string event_identifier the unique identifier for this registered event, which can be used later for setting, deleting, etc 

Parameters:
 string EventName a name for the event, which you can choose freely; duplicated eventnames are allowed 
 integer CheckAllXSeconds only check all x seconds; 0, for constant checking
this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases!
This is due general limitations with backgroundscripts. 
 integer CheckForXSeconds only check for x seconds; 0, check until the event is removed
this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases!
This is due general limitations with backgroundscripts. 
 boolean StartActionsOnceDuringTrue if the event occurred:
    true, run the actions only once;
    false, run until the CheckFunction returns false again 
 boolean EventPaused false, register the event and check for it immediately; true, register the event but don't check for it yet 
 function CheckFunction the function, which shall check if the event occurred
this function must return true if the event occurred and false, if not
No global variables allowed! Instead, the eventmanager will pass to the function as first parameter a table which can be used for storing information 
 table Actions a table which holds all actions and their accompanying sections, who shall be run when the event occurred
each entry of the table must be of the format "actioncommandid,section", e.g.:

Actions[1]="1007,0"
Actions[2]="1012,0"

You can have as many actions as you like, but be aware, that running too many actions may delay further eventchecking! 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_RemoveStartupEvent2

Functioncall:

boolean retval = ultraschall.EventManager_RemoveStartupEvent2(integer id)

Description:
Removes a startup-event from the config-file of the Ultraschall Event Manager.

returns false in case of an error

Returnvalues:
 boolean retval true, removing was successful; false, removing was unsuccessful 

Parameters:
 string event_identifier the unique identifier of the startup event, which you want to remove from the EventManager-startup-procedure 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_RemoveStartupEvent

Functioncall:

boolean retval = ultraschall.EventManager_RemoveStartupEvent(string event_identifier)

Description:
Removes a startup-event from the config-file of the Ultraschall Event Manager.

returns false in case of an error

Returnvalues:
 boolean retval true, removing was successful; false, removing was unsuccessful 

Parameters:
 string event_identifier the unique identifier of the startup event, which you want to remove from the EventManager-startup-procedure 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_CountStartupEvents

Functioncall:

integer count_startup_events = ultraschall.EventManager_CountStartupEvents()

Description:
Counts the currently available startup-events

Returnvalues:
 integer count_startup_events the number of currently available start-up-events for the EventManager 



^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_SetStartupEvent

Functioncall:

string event_identifier = ultraschall.EventManager_SetStartupEvent(string EventIdentifier, optional string EventName, optional integer CheckAllXSeconds, optional integer CheckForXSeconds, optional boolean StartActionsOnceDuringTrue, optional boolean EventPaused, optional function CheckFunction, optional table Actions)

Description:
Sets an already existing startupevent, that shall be automatically run at startup of the Ultraschall Event Manager.

That means, if you start the EventManager, it will be started automatically to the EventManager-checking-queue, without the need of registering it by hand.

returns nil in case of an error

Returnvalues:
 string event_identifier the unique identifier for this registered event, which can be used later for setting, deleting, etc 

Parameters:
 string EventIdentifier the EventIdentifier of the startup-event, which you want to set 
 optional string EventName a name for the event, which you can choose freely; duplicated eventnames are allowed; nil, to keep current name 
 optional integer CheckAllXSeconds only check all x seconds; 0, for constant checking; nil, to keep current value
this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases!
This is due general limitations with backgroundscripts. 
 optional integer CheckForXSeconds only check for x seconds; 0, check until the event is removed; nil, to keep current value
this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases!
This is due general limitations with backgroundscripts. 
 optional boolean StartActionsOnceDuringTrue if the event occurred:
    true, run the actions only once;
    false, run until the CheckFunction returns false again
    nil, to keep current value 
 optional boolean EventPaused false, register the event and check for it immediately; true, register the event but don't check for it yet; nil, to keep current value 
 optional function CheckFunction the function, which shall check if the event occurred; nil, to keep current function
this function must return true if the event occurred and false, if not
No global variables allowed! Instead, the eventmanager will pass to the function as first parameter a table which can be used for storing information 
 optional table Actions a table which holds all actions and their accompanying sections, who shall be run when the event occurred; nil, to keep current actionlist
each entry of the table must be of the format "actioncommandid,section", e.g.:

Actions[1]="1007,0"
Actions[2]="1012,0"

You can have as many actions as you like, but be aware, that running too many actions may delay further eventchecking! 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ EventManager_GetPausedState2

Functioncall:

boolean paused_state = ultraschall.EventManager_GetPausedState2(string EventIdentifier)

Description:
returns, if a certain event, currently registered in the EventManager, is paused(true) or not(false).
State is requested by EventIdentifier.

returns nil in case of an error


Parameters:
 string EventIdentifier the identifier of the registered event, whose pause state you want to retrieve 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ EventManager_GetPausedState

Functioncall:

boolean paused_state = ultraschall.EventManager_GetPausedState(integer id)

Description:
returns, if a certain event, currently registered in the EventManager, is paused(true) or not(false)
State is requested by number-id, with 1 for the first event, 2 for the second, etc.

returns nil in case of an error


Parameters:
 integer id the id of the event, whose paused-state you want to retrieve; 1, the first event; 2, the second event, etc 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ EventManager_GetEventIdentifier

Functioncall:

string event_identifier = ultraschall.EventManager_GetEventIdentifier(integer id)

Description:
returns the EventIdentifier of a registered event, by id
event is requested by number-id, with 1 for the first event, 2 for the second, etc.

returns nil in case of an error


Parameters:
 integer id the id of the event, whose EventIdenrifier you want to retrieve; 1, the first event; 2, the second event, etc 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ EventManager_GetLastCheckfunctionState

Functioncall:

boolean check_state, number last_statechange_precise_time = ultraschall.EventManager_GetLastCheckfunctionState(integer id)

Description:
returns the last state the eventcheck-function returned the last time it was called; of a certain registered event in the EventManager.
State is requested by number-id, with 1 for the first event, 2 for the second, etc.

returns nil in case of an error; nil and time, if the EventCheck-function didn't return a boolean


Parameters:
 integer id the id of the event, whose eventcheckfunction-retval you want to retrieve; 1, the first event; 2, the second event, etc 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ EventManager_GetRegisteredEventID

Functioncall:

integer id = ultraschall.EventManager_GetRegisteredEventID(string EventIdentifier)

Description:
returns the id of a registered event, meaning 1, if it's the first event, 2 if it's the second, etc

It is the position within all events currently registered within the EventManager.

returns nil in case of an error


Parameters:
 string EventIdentifier the EventIdentifier of the event, whose id you want to retrieve 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ EventManager_GetLastCheckfunctionState2

Functioncall:

boolean check_state, number last_statechange_precise_time = ultraschall.EventManager_GetLastCheckfunctionState2(string EventIdentifier)

Description:
returns the last state the eventcheck-function returned the last time it was called; of a certain registered event in the EventManager.
State is requested by EventIdentifier

returns nil in case of an error; nil and time, if the EventCheck-function didn't return a boolean


Parameters:
 string EventIdentifier the EventIdentifier of the event, whose last checkfunction-state you want to retrieve 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_DebugMode

Functioncall:

ultraschall.EventManager_DebugMode(boolean toggle)

Description:
Starts Debugmode of the EventManager, which returns additional internal states.

Allows you to get the contents of the UserSpace of a certain checkfunction of a registered event, see EventManagerDebugModeUserSpace.

Note: Debugmode is not for productive usecases, as it costs resources. Please turn it off again, after you've finished debugging.


Parameters:
 boolean toggle true, turn debugmode on; false, turn debugmode off 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ EventManager_DebugMode_UserSpace

Functioncall:

integer userspace_count, table userspace = ultraschall.EventManager_DebugMode_UserSpace(integer index)

Description:
Returns the current contents of the UserSpace, as stored by the checkfunction of a registered event in the EventManager.

The table is of the format:

userspace[index]["index"] - the name of the index
userspace[index]["datatype"] - the datatype of the value in this userspace-index
userspace[index]["value"] - the value in this userspace-index

Note: Debugmode is not for productive usecases, as it costs resources. Please turn it off again, after you've finished debugging.
See EventManager_DebugMode for more details on stopping DebugMode.

returns nil in case of an error

Returnvalues:
 integer userspace_count the number of values within the userspace 
 table userspace the contents of the userspace as a handy table 

Parameters:
 integer index the index of the event, whose UserSpace you want to retrieve 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ReadFullFile

Functioncall:

string contents, integer length_of_file, integer number_of_lines = ultraschall.ReadFullFile(string filename_with_path, boolean binary)

Description:
Return contents of filename_with_path.

Returns nil in case of an error.

Returnvalues:
 string contents the contents of the whole file. 
 integer length_of_file the number of bytes of the file 
 integer number_of_lines number of lines in file (-1 if parameter binary is set to true) 

Parameters:
 string filename_with_path filename of the file to be read 
 boolean binary true if the file shall be read as a binary file; false if read as ASCII. Default is ASCII. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ReadValueFromFile

Functioncall:

string contents, string linenumbers, integer numberoflines, integer number_of_foundlines = ultraschall.ReadValueFromFile(string filename_with_path, string value)

Description:
Return contents of filename_with_path.

If "value" is given, it will return all lines, containing the value in the file "filename_with_path".
The second line-numbers return-value is very valuable when giving a "value". "Value" is not case-sensitive.
The value can also contain patterns for pattern matching. Refer the LUA-docs for pattern matching.
i.e. characters like ^$()%.[]*+-? must be escaped with a %, means: %[%]%(%) etc

Returnvalues:
 string contents the contents of the file, or the lines that contain parameter value in it, separated by a newline 
 string linenumbers a string, that contains the linenumbers returned as a , separated csv-string 
 integer numberoflines_in_file the total number of lines in the file 
 integer number_of_foundlines the number of found lines 

Parameters:
 string filename_with_path filename of the file to be read 
 string value the value to look in the file for. Not case-sensitive. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ReadLinerangeFromFile

Functioncall:

string contents, boolean correctnumberoflines, integer number_of_lines = ultraschall.ReadLinerangeFromFile(string filename_with_path, integer firstlinenumber, integer lastlinenumber)

Description:
Return contents of filename_with_path, from firstlinenumber to lastlinenumber. Counting of linenumbers starts with 1 for the first line.
The returned string contains all requested lines, separated by a newline.

Returns nil, if the linenumbers are invalid.

Returnvalues:
 string contents the contents the lines of the file, that you requested 
 boolean correctnumberoflines true, if the number of lines are returned, as requested; false if fewer lines are returned 
 integer number_of_lines the number of read lines 

Parameters:
 string filename_with_path filename of the file to be read 
 integer firstlinenumber the first linenumber to be returned. First line in the file begins with 1! 
 integer lastlinenumber the last linenumber to be returned; -1, for the whole file 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ MakeCopyOfFile

Functioncall:

boolean retval = ultraschall.MakeCopyOfFile(string input_filename_with_path, string output_filename_with_path)

Description:
Copies input_filename_with_path to output_filename_with_path.
Only textfiles! For binary-files use MakeCopyOfFile_Binary() instead!

Returns true, if it worked, false if it didn't.

Returnvalues:
 boolean retval true, if copy worked, false if it didn't. 

Parameters:
 string input_filename_with_path filename of the file to copy 
 string output_filename_with_path filename of the copied file to be created. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ MakeCopyOfFile_Binary

Functioncall:

boolean retval = ultraschall.MakeCopyOfFile_Binary(string input_filename_with_path, string output_filename_with_path)

Description:
Copies input_filename_with_path to output_filename_with_path as binary-file.

returns false in case of an error

Returnvalues:
 boolean retval returns true, if copy worked; false if it didn't 

Parameters:
 string input_filename_with_path filename of the file to copy 
 string output_filename_with_path filename of the copied file, that shall be created 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ReadBinaryFileUntilPattern

Functioncall:

integer length, string content = ultraschall.ReadBinaryFileUntilPattern(string input_filename_with_path, string pattern)

Description:
Returns a binary file, up until a pattern. The pattern is not case-sensitive.

Pattern can also contain patterns for pattern matching. Refer the LUA-docs for pattern matching.
i.e. characters like ^$()%.[]*+-? must be escaped with a %, means: %[%]%(%) etc

returns -1 in case of an error

Returnvalues:
 integer length the length of the returned data 
 string content the content of the file, that has been read until pattern 

Parameters:
 string filename_with_path filename of the file to be read 
 string pattern a pattern to search for. Case-sensitive. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ReadBinaryFileFromPattern

Functioncall:

integer length, string content = ultraschall.ReadBinaryFileFromPattern(string input_filename_with_path, string pattern)

Description:
Returns a binary file, from pattern onwards. The pattern is not case-sensitive.

The pattern can also contain patterns for pattern matching. Refer the LUA-docs for pattern matching.
i.e. characters like ^$()%.[]*+-? must be escaped with a %, means: %[%]%(%) etc

returns -1 in case of an error

Returnvalues:
 integer length the length of the returned data 
 string content the content of the file, that has been read from pattern to the end 

Parameters:
 string filename_with_path filename of the file to be read 
 string pattern a pattern to search for. Case-sensitive. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountLinesInFile

Functioncall:

integer linesinfile = ultraschall.CountLinesInFile(string filename_with_path)

Description:
Counts lines in a textfile. In binary files, the number of lines may be weird and unexpected!
Returns -1, if no such file exists.

Returnvalues:
 integer linesinfile number of lines in a textfile; -1 in case of error 

Parameters:
 string filename_with_path filename of the file to be read 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ReadFileAsLines_Array

Functioncall:

array contents, boolean correctnumberoflines, integer number_of_lines = ultraschall.ReadFileAsLines_Array(string filename_with_path, integer firstlinenumber, integer lastlinenumber)

Description:
Return contents of filename_with_path, from firstlinenumber to lastlinenumber as an array. Counting of linenumbers starts with 1 for the first line.
The returned array contains all requested lines, which each entry holding one returned line.

Returns nil, if the linenumbers are invalid.

Returnvalues:
 array contents the contents the lines of the file, that you requested as an array, in which each entry hold one line of the file 
 boolean correctnumberoflines true, if the number of lines are returned, as you requested; false if fewer lines are returned 
 integer number_of_lines the number of lines returned 

Parameters:
 string filename_with_path filename of the file to be read 
 integer firstlinenumber the first linenumber to be returned. First line in the file begins with 1! 
 integer lastlinenumber the last linenumber to be returned; -1, read all lines in the file 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ReadBinaryFile_Offset

Functioncall:

integer length, string content = ultraschall.ReadBinaryFile_Offset(string input_filename_with_path, integer startoffset, integer numberofbytes)

Description:
Returns the contents of a binary file from startoffset until startoffset+numberofbytes.

When setting startoffset to a negative value, it will read from the end of the file, means:
-100 will start -100 characters before the end of the file and numberofbytes will read from that point on    

Returns -1, if file can not be opened.

Returnvalues:
 integer length the length of the returned part of the file, might be shorter than requested, if file ends before 
 string content the content of the file, that has been read 

Parameters:
 string input_filename_with_path filename of the file to be read 
 integer startoffset the offset, at where to begin the fileread. 0 for the beginning of the file; negative values set offset from the end of the file 
 integer numberofbytes the number of bytes to read. -1 for until the end of the file. If there are fewer bytes than requested, the returned string will be shorter. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetLengthOfFile

Functioncall:

integer length_of_file = ultraschall.GetLengthOfFile(string filename_with_path)

Description:
Returns the length of the file filename_with_path in bytes.
Will return -1, if no such file exists.

Returnvalues:
 integer length_of_file the length of the file in bytes. -1 in case of error 

Parameters:
 string filename_with_path filename to write the value to 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ CountDirectoriesAndFilesInPath

Functioncall:

integer filecount, integer dircount = ultraschall.CountDirectoriesAndFilesInPath(string path)

Description:
returns the number of files and directories in path

returns -1, in case of error

Returnvalues:
 integer filecount the number of files found in path 
 integer dircount the number of directories found in path 

Parameters:
 string path the path to count the files and directories from 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ GetAllFilenamesInPath

Functioncall:

integer filecount, array files = ultraschall.GetAllFilenamesInPath(string path)

Description:
returns the number of files and the filenames in path

returns -1, in case of error

Returnvalues:
 integer filecount the number of files found in path 
 array files the filenames found in path 

Parameters:
 string path the path to get the filenames from 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ GetAllDirectoriesInPath

Functioncall:

integer filecount, array directories = ultraschall.GetAllDirectoriesInPath(string path)

Description:
returns the number of directories and the directorynames in path

returns -1, in case of error

Returnvalues:
 integer filecount the number of directories found in path 
 array files the directories found in path 

Parameters:
 string path the path to get the directories from 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CheckForValidFileFormats

Functioncall:

string fileformat, boolean supported_by_reaper, string mediatype = ultraschall.CheckForValidFileFormats(string filename_with_path)

Description:
Returns the fileformat of a Reaper-supported-file, images, audios(opus and m4a missing, though!), and video(mp4-video missing, though!).
Note: Checks the file itself and does not check for correct file-extension. Reaper needs the correct file-extension or it can't read an otherwise valid imagefile.
      For example: if you want to import a GIF, renamed to filename.JPG, Reaper will not be able to read it. Only when the extension is the same as the file itself(filename.GIF).

Returns nil in case of an error

Returnvalues:
 string fileformat the format of the file; JPG, PNG, GIF, LCF, ICO, WAV, AIFF, ASF/WMA/WMV, MP3, MP3 -ID3TAG, FLAC, MKV/MKA/MKS/MK3D/WEBM, AVI, RPP_PROJECT, unknown 
 boolean supported_by_reaper true, if importing of the fileformat is supported by Reaper; false, if not 
 string mediatype the type of the media; Image, Audio, Audio/Video, Video, Reaper 

Parameters:
 string filename_with_path the file to check for it's image-fileformat 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ DirectoryExists

Functioncall:

boolean retval = ultraschall.DirectoryExists(string path, string directory)

Description:
Checks, if a directory exists in path.

On Linux: path and directory are case-sensitive!

Returns false in case of error.

Returnvalues:
 boolean retval true, directory exists; false, directory does not exist 

Parameters:
 string path the path, in which to look for the existence of parameter directory 
 string directory the name of the directory to check for in path 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ OnlyFilesOfCertainType

Functioncall:

integer foundfilecount, array foundfilearray = ultraschall.OnlyFilesOfCertainType(array filearray, string filetype)

Description:
Returns the filenames_with_path from a filearray, that are of a certain filetype

returns -1 in case of an error

Returnvalues:
 integer foundfilecount the number of files that contain the right filetype 
 array foundfilearray an array with all the files that contain the right filetype 

Parameters:
 array filearray an array with files to check for; index is 1-based 
 string fileformat the format of the file; JPG, PNG, GIF, LCF, ICO, WAV, AIFF, ASF/WMA/WMV, MP3, MP3 -ID3TAG, FLAC, MKV/MKA/MKS/MK3D/WEBM, AVI, RPP_PROJECT, unknown 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetReaperWorkDir

Functioncall:

string current_workdir = ultraschall.GetReaperWorkDir()

Description:
returns the current workdir, which is the directory. If you create a file without giving a path, this file will be created in this work-dir.

Returnvalues:
 string current_workdir the current workdir of Reaper 



^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ DirectoryExists2

Functioncall:

boolean retval = ultraschall.DirectoryExists2(string Path)

Description:
returns, if Path is an existing path.

returns false in case of an error

Returnvalues:
 boolean retval true, if path exists; false, if not 

Parameters:
 string Path the path to check for 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ SetReaperWorkDir

Functioncall:

boolean retval = ultraschall.SetReaperWorkDir(string Path)

Description:
sets a new current working directory for Reaper. This requires a restart of Reaper to take effect, due API-limitations!
                        
returns false in case of an error

Returnvalues:
 boolean retval true, if path could be set; false, if not 

Parameters:
 string Path the path to set as new current working directory 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetPath

Functioncall:

string path, string filename = ultraschall.GetPath(string str, optional string sep)

Description:
returns the path of a filename-string

returns "", "" in case of error

Returnvalues:
 string path the path as a string 
 string filename the filename, without the path 

Parameters:
 string str the path with filename you want to process 
 string sep a separator, with which the function knows, how to separate filename from path; nil to use the last useful separator in the string, which is either / or \\ 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CreateValidTempFile

Functioncall:

string tempfilename = ultraschall.CreateValidTempFile(string filename_with_path, boolean create, string suffix, boolean retainextension)

Description:
Tries to determine a valid temporary filename. Will check filename_with_path with an included number between 0 and 16384 to create such a filename.
You can also add your own suffix to the filename.

The pattern is: filename_with_path$Suffix~$number.ext (when retainextension is set to true!)

If you wish, you can also create this temporary-file as an empty file.

The path of the tempfile is always the same as the original file.

Returns nil in case of failure.

Returnvalues:
 string tempfilename the valid temporary filename found 

Parameters:
 string filename_with_path the original filename 
 boolean create true, if you want to create that temporary file as an empty file; false, just return the filename 
 string suffix if you want to alter the temporary filename with an additional suffix, use this parameter 
 boolean retainextension true, keep the extension(if existing) at the end of the tempfile; false, just add the suffix~number at the end. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ WriteValueToFile

Functioncall:

integer retval = ultraschall.WriteValueToFile(string filename_with_path, string value, optional boolean binarymode, optional boolean append)

Description:
Writes value to filename_with_path. Will replace any previous content of the file if append is set to false. Returns -1 in case of failure, 1 in case of success.

returns -1 in case of an error

Returnvalues:
 integer retval -1 in case of failure, 1 in case of success 

Parameters:
 string filename_with_path the filename with it's path 
 string value the value to export, can be a long string that includes newlines and stuff. nil is not allowed! 
 boolean binarymode true or nil, it will store the value as binary-file; false, will store it as textstring 
 boolean append true, add the value to the end of the file; false or nil, write value to file and erase all previous data in the file 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ WriteValueToFile_Insert

Functioncall:

integer retval = ultraschall.WriteValueToFile_Insert(string filename_with_path, integer linenumber, string value)

Description:
Inserts value into a file at linenumber. All lines, up to linenumber-1 come before value, all lines at linenumber to the end of the file will come after value.
Will return -1, if no such line exists.

Note: non-binary-files only!

Returnvalues:
 integer retval 1, in case of success, -1 in case of error 

Parameters:
 string filename_with_path filename to write the value to 
 integer linenumber the linenumber, at where to insert the value into the file 
 string value the value to be inserted into the file 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ WriteValueToFile_Replace

Functioncall:

integer retval = ultraschall.WriteValueToFile_Replace(string filename_with_path, integer startlinenumber, integer endlinenumber, string value)

Description:
Replaces the linenumbers startlinenumber to endlinenumber in a file with value. All lines, up to startlinenumber-1 come before value, all lines at endlinenumber+1 to the end of the file will come after value.
Will return -1, if no such lines exists.

Note: non-binary-files only!

Returnvalues:
 integer retval 1, in case of success, -1 in case of error 

Parameters:
 string filename_with_path filename to write the value to 
 integer startlinenumber the first linenumber, to be replaced with value in the file 
 integer endlinenumber the last linenumber, to be replaced with value in the file 
 string value the value to be inserted into the file 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ WriteValueToFile_InsertBinary

Functioncall:

integer retval = ultraschall.WriteValueToFile_InsertBinary(string filename_with_path, integer byteposition, string value)

Description:
Inserts value into a file at byteposition. All bytes, up to byteposition-1 come before value, all bytes at byteposition to the end of the file will come after value.
Will return -1, if no such line exists.

Note: good for binary files

Returnvalues:
 integer retval 1, in case of success, -1 in case of error 

Parameters:
 string filename_with_path filename to write the value to 
 integer byteposition the byteposition, at where to insert the value into the file 
 string value the value to be inserted into the file 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ WriteValueToFile_ReplaceBinary

Functioncall:

integer retval = ultraschall.WriteValueToFile_ReplaceBinary(string filename_with_path, integer startbyteposition, integer endbyteposition, string value)

Description:
Replaces content in the file from startbyteposition to endbyteposition-1 with value. All bytes, up to startbyteposition-1 come before value, all bytes from (and including)endbyteposition to the end of the file will come after value.
Will return -1, if no such line exists.

Note: good for binary files

Returnvalues:
 integer retval 1, in case of success, -1 in case of error 

Parameters:
 string filename_with_path filename to write the value to 
 integer startbyteposition the first byte in the file to be replaced, starting with 1, if you want to replace at the beginning of the file. Everything before startposition will be kept. 
 integer endbyteposition the first byte after the replacement. Everything from endbyteposition to the end of the file will be kept. 
 string value the value to be inserted into the file 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ GetAllRecursiveFilesAndSubdirectories

Functioncall:

integer found_dirs, array dirs_array, integer found_files, array files_array = ultraschall.GetAllRecursiveFilesAndSubdirectories(string path)

Description:
Returns all subdirectories and files within a given path.

Might take some time with many folders/files.


Returns -1 in case of an error.

Returnvalues:
 integer found_dirs the number of directories found; -1, in case of an error 
 array dirs_array the full path to the found directories as an array 
 integer found_files the number of files found 
 array files_array the full path to the found files as an array 

Parameters:
 string path the path from where to retrieve the files and subdirectories 


^ Reaper version 5.99Ultraschall version 4.00Lua version 5.3 ^ SaveSubtitles_SRT

Functioncall:

integer retval = ultraschall.SaveSubtitles_SRT(string subtitle_filename_with_path, table subtitle_table)

Description:
saves the subtitles from the subtitle-table.

The subtitles-table is expected to be of the following format:

    subtitle_table[subtitle_index]["start"]   = starttime in seconds
    subtitle_table[subtitle_index]["end"]     = endtime in seconds
    subtitle_table[subtitle_index]["caption"] = the caption, which shall be shown from start to end-time

returns -1 in case of an error

Returnvalues:
 string guid the guid of the marker/region of the marker with a specific index 

Parameters:
 string subtitle_filename_with_path the filename of the subtitle-file, into which you want to store the subtitles 
 table Table the subtitle-table, which holds all captions and the start- and endtimes of displaying the caption 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ ReadSubtitles_SRT

Functioncall:

integer Captions_Counter, table Captions = ultraschall.ReadSubtitles_SRT(string filename_with_path)

Description:
parses an srt-subtitle-file and returns its contents as table

returns nil in case of an error

Returnvalues:
 integer Captions_Counter the number of captions in the file 
 table Captions the Captions as a table of the format:
    Captions[index]["start"]= the starttime of this caption in seconds
    Captions[index]["end"]= the endtime of this caption in seconds
    Captions[index]["caption"]= the caption itself 

Parameters:
 string filename_with_path the filename with path of the subrip srt-file 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ MoveFileOrFolder

Functioncall:

boolean retval = ultraschall.MoveFileOrFolder(string file_foldername, string oldpath, string newpath)

Description:
Moves a file or folder from oldpath to newpath.

returns false in case of an error

Returnvalues:
 boolean retval true, moving was successful; false, moving was unsuccessful 

Parameters:
 string file_foldername the folder- or filename, which you want to move 
 string oldpath the old path, in which the file or folder is located 
 string newpath the new path, into which the file or folder shall be moved 


^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ CopyFile_StartCopying

Functioncall:

integer instance_number = ultraschall.CopyFile_StartCopying()

Description:
Starts copying the files added to the background-copy-queue.

You can run this function multiple times, to have multiple background-copy-instances, depending on how fast the copying shall be and how much ressources it should eat.
Each instance copies the amount of data set with CopyFile_SetBufferSize, so if the buffersize is set to 1048576(1 MB) then each instance will copy 1 MB per defer-cycle.
That way you can balance the amount of data copied each defer-cycle with the amount of time each defer-cycle uses Reaper's processing-time.
So having multiple instances with smaller buffer-sizes can prevent lagging of the gui of Reaper.

You can have up to 30 instances running in the background at the same time.

Add files with CopyFile_AddFileToQueue

If all files are copied, the instances will be stopped completely, so using CopyFile_GetCurrentlyRunningCopyInstances returning 0 can tell you, if the copying is finished already.

Will return -1, if all possible 30 instances are started already.




^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ CopyFile_IsCurrentlyCopying

Functioncall:

boolean retval = ultraschall.CopyFile_IsCurrentlyCopying()

Description:
Returns, if the any copying-instance is (still) currently copying files.




^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ CopyFile_GetCurrentlyRunningCopyInstances

Functioncall:

integer number_of_instances = ultraschall.CopyFile_GetCurrentlyRunningCopyInstances()

Description:
Returns the number of copying-instances currently started by CopyFile_StartCopying




^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ CopyFile_GetCurrentlyCopiedFile

Functioncall:

integer number_of_remaining_files, string filename, integer remaining_bytes_to_copy, integer percentage = ultraschall.CopyFile_GetCurrentlyCopiedFile()

Description:
Returns the information about the file currently copied




^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ CopyFile_SetBufferSize

Functioncall:

boolean retval = ultraschall.CopyFile_SetBufferSize(integer buffersize)

Description:
Sets the buffer-size of the background-copy-instances in bytes.

That means, each copying-instance will copy this amount of data per defer-cycle.

Returns false in case of an error.

Returnvalues:
 boolean retval true, setting this was successful; false, setting this was unsuccessful 

Parameters:
 integer buffersize the amount of bytes of the buffer-size 


^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ CopyFile_GetBufferSize

Functioncall:

integer buffer_size = ultraschall.CopyFile_GetBufferSize()

Description:
Returns the current buffer-size in bytes.




^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ CopyFile_AddFileToQueue

Functioncall:

integer current_copyqueue_position = ultraschall.CopyFile_AddFileToQueue(string filename, string targetfilename, boolean overwrite)

Description:
Adds a new file to the copy-queue.

If you try to copy a file into a subdirectory, which does not exist yet, this subdirectory will be created.
If the background-copying is still active(the copying-queue not finished with copying) at the time of adding, the file will be copied right away.
To check, whether you need to start if there are still running copying-instances in the background, use CopyFile_IsCurrentlyCopying.

The returned value in current_copyqueue_position allows you get the current copying status and possible error-messages using CopyFile_GetCopiedStatus

returns -1 in case of an error.


Parameters:
 string filename the file to be copied, including its path 
 string targetfilename the targetfile, to which the file shall be copied including its path 
 boolean overwrite true, overwrite an already existing file; false, don't overwrite an already existing file 


^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ CopyFile_GetCopiedStatus

Functioncall:

string filename, boolean already_processed, string error_message, string error_code = ultraschall.CopyFile_GetCopiedStatus(integer fileindex)

Description:
Returns the copystatus of a file in the copy-queue

Will return -1 in case of an error.


Parameters:
 integer fileindex the index of the file within the copying-queue 


^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ CopyFile_FlushCopiedFiles

Functioncall:

ultraschall.CopyFile_FlushCopiedFiles()

Description:
Flushes the queue for the already copied files.

This invalidates the files-index given by CopyFile_AddFileToQueue!




^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ CopyFile_StopCopying

Functioncall:

ultraschall.CopyFile_StopCopying()

Description:
Stops copying of all files immediately. If the currently file isn't finished copying yet, it will remain incomplete.

Returns the last file processed, so you can check, if the file has been copied properly.




^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ CopyFile_Pause

Functioncall:

boolean retval = ultraschall.CopyFile_Pause(boolean toggle)

Description:
Pauses the copying of the files in the copying-queue.

Will return false in case of an error.


Parameters:
 integer toogle true, pause the copying; false, go on with copying of the files 


^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ CopyFile_GetPausedState

Functioncall:

boolean retval = ultraschall.CopyFile_GetPausedState()

Description:
Returns the current paused-state of the background-copying




^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ CopyFile_GetRemainingFilesToCopy

Functioncall:

integer filecount = ultraschall.CopyFile_GetRemainingFilesToCopy()

Description:
Returns the number of files that still need to be copied.




^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ IsValidFXStateChunk

Functioncall:

boolean retval = ultraschall.IsValidFXStateChunk(string StateChunk)

Description:
Returns, if a StateChunk is a valid FXStateChunk.
An FXStateChunk holds all FX-plugin-settings for a specific MediaTrack or MediaItem.

Returns false in case of an error

Returnvalues:
 boolean retval true, it is a valid FXStateChunk; false, it is not 

Parameters:
 string StateChunk the StateChunk, which you want to check, whether it's a valid FXStateChunk 


^ Reaper version 6.10Ultraschall version 4.2Lua version 5.3 ^ GetFXFromFXStateChunk

Functioncall:

string fx_lines, integer startoffset, integer endoffset = ultraschall.GetFXFromFXStateChunk(string FXStateChunk, integer fxindex)

Description:
returns the statechunk-lines of fx with fxindex from an FXStateChunk

It also returns the start and endoffset of these lines, so you can manipulate these lines and replace them in the
original FXStateChunk, by replacing the part between start and endoffset with your altered lines.

returns nil in case of an error

Returnvalues:
 string fx_lines the statechunk-lines associated with this fx 
 integer startoffset the startoffset in bytes of these lines within the FXStateChunk 
 integer endoffset the endoffset in bytes of these lines within the FXStateChunk 

Parameters:
 string FXStateChunk the FXStateChunk from which you want to retrieve the fx's-lines 
 integer fxindex the index of the fx, whose statechunk lines you want to retrieve; with 1 for the first 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetParmLearn_FXStateChunk

Functioncall:

integer parm_idx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message = ultraschall.GetParmLearn_FXStateChunk(string FXStateChunk, integer fxid, integer id)

Description:
Returns a parameter-learn-setting from an FXStateChunk
An FXStateChunk holds all FX-plugin-settings for a specific MediaTrack or MediaItem.

It is the PARMLEARN-entry

Returns nil in case of an error

Returnvalues:
 integer parm_idx the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn 
 string parmname the name of the parameter, though usually only wet or bypass 
 integer midi_note the midinote, that is assigned to this; this is a multibyte value, with the first byte
   being the MIDI-mode, and the second byte the MIDI/CC-note
       0,   OSC is used
       176, MIDI Chan 1 CC 0     (Byte1=176, Byte2=0)
       ...
       432, MIDI Chan 1 CC 1     (Byte1=176, Byte2=1)
       ...
       144,  MIDI Chan 1 Note 1  (Byte1=144, Byte2=0)
       400,  MIDI Chan 1 Note 1  (Byte1=144, Byte2=1)
       ...
       9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36)
       9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37)
       9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38)
         ...
        
   CC Mode-dropdownlist:
      set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144)
       &65536 &131072 &262144
          0       0       0,      Absolute
          1       0       0,      Relative 1(127=-1, 1=+1)
          0       1       0,      Relative 2(63=-1, 65=+1)
          1       1       0,      Relative 3(65=-1, 1=+1)
          0       0       1,      Toggle (>0=toggle) 
 integer checkboxflags the checkboxes checked in the MIDI/OSC-learn dialog
0, no checkboxes
1, enable only when track or item is selected
2, Soft takeover (absolute mode only)
3, Soft takeover (absolute mode only)+enable only when track or item is selected
4, enable only when effect configuration is focused
20, enable only when effect configuration is visible 
 optional string osc_message the osc-message, that triggers the ParmLearn 

Parameters:
 string FXStateChunk the FXStateChunk, from which you want to retrieve the ParmLearn-settings 
 integer fxid the fx, of which you want to get the parameter-learn-settings 
 integer id the id of the ParmLearn-settings you want to have, starting with 1 for the first 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetParmLearn_MediaItem

Functioncall:

integer parm_idx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message = ultraschall.GetParmLearn_MediaItem(MediaItem MediaItem, integer fxid, integer id)

Description:
Returns a parameter-learn-setting from a MediaItem

It is the PARMLEARN-entry

Returns nil in case of an error

Returnvalues:
 integer parm_idx the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn 
 string parmname the name of the parameter, though usually only wet or bypass 
 integer midi_note the midinote, that is assigned to this; this is a multibyte value, with the first byte
   being the MIDI-mode, and the second byte the MIDI/CC-note
       0,   OSC is used
       176, MIDI Chan 1 CC 0     (Byte1=176, Byte2=0)
       ...
       432, MIDI Chan 1 CC 1     (Byte1=176, Byte2=1)
       ...
       144,  MIDI Chan 1 Note 1  (Byte1=144, Byte2=0)
       400,  MIDI Chan 1 Note 1  (Byte1=144, Byte2=1)
       ...
       9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36)
       9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37)
       9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38)
         ...
        
   CC Mode-dropdownlist:
      set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144)
       &65536 &131072 &262144
          0       0       0,      Absolute
          1       0       0,      Relative 1(127=-1, 1=+1)
          0       1       0,      Relative 2(63=-1, 65=+1)
          1       1       0,      Relative 3(65=-1, 1=+1)
          0       0       1,      Toggle (>0=toggle) 
 integer checkboxflags the checkboxes checked in the MIDI/OSC-learn dialog
0, no checkboxes
1, enable only when track or item is selected
2, Soft takeover (absolute mode only)
3, Soft takeover (absolute mode only)+enable only when track or item is selected
4, enable only when effect configuration is focused
20, enable only when effect configuration is visible 
 optional string osc_message the osc-message, that triggers the ParmLearn 

Parameters:
 MediaItem MediaItem the MediaItem, whose ParmLearn-setting you want to get 
 integer fxid the fx, of which you want to get the parameter-learn-settings 
 integer id the id of the ParmLearn-settings you want to have, starting with 1 for the first 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetParmLearn_MediaTrack

Functioncall:

integer parm_idx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message = ultraschall.GetParmLearn_MediaTrack(MediaTrack MediaTrack, integer fxid, integer id)

Description:
Returns a parameter-learn-setting from a MediaTrack

It is the PARMLEARN-entry

Returns nil in case of an error

Returnvalues:
 integer parm_idx the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn 
 string parmname the name of the parameter, though usually only wet or bypass 
 integer midi_note the midinote, that is assigned to this; this is a multibyte value, with the first byte
   being the MIDI-mode, and the second byte the MIDI/CC-note
       0,   OSC is used
       176, MIDI Chan 1 CC 0     (Byte1=176, Byte2=0)
       ...
       432, MIDI Chan 1 CC 1     (Byte1=176, Byte2=1)
       ...
       144,  MIDI Chan 1 Note 1  (Byte1=144, Byte2=0)
       400,  MIDI Chan 1 Note 1  (Byte1=144, Byte2=1)
       ...
       9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36)
       9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37)
       9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38)
         ...
        
   CC Mode-dropdownlist:
      set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144)
       &65536 &131072 &262144
          0       0       0,      Absolute
          1       0       0,      Relative 1(127=-1, 1=+1)
          0       1       0,      Relative 2(63=-1, 65=+1)
          1       1       0,      Relative 3(65=-1, 1=+1)
          0       0       1,      Toggle (>0=toggle) 
 integer checkboxflags the checkboxes checked in the MIDI/OSC-learn dialog
0, no checkboxes
1, enable only when track or item is selected
2, Soft takeover (absolute mode only)
3, Soft takeover (absolute mode only)+enable only when track or item is selected
4, enable only when effect configuration is focused
20, enable only when effect configuration is visible 
 optional string osc_message the osc-message, that triggers the ParmLearn 

Parameters:
 MediaTrack MediaTrack the MediaTrack, whose ParmLearn-setting you want to get 
 integer fxid the fx, of which you want to get the parameter-learn-settings 
 integer id the id of the ParmLearn-settings you want to have, starting with 1 for the first 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetParmAlias_FXStateChunk

Functioncall:

integer parm_idx, string parm_aliasname = ultraschall.GetParmAlias_FXStateChunk(string FXStateChunk, integer fxid, integer id)

Description:
Returns a parameter-alias-setting from an FXStateChunk
An FXStateChunk holds all FX-plugin-settings for a specific MediaTrack or MediaItem.

Parameter-aliases are only stored for MediaTracks.

It is the PARMALIAS-entry

Returns nil in case of an error

Returnvalues:
 integer parm_idx the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn 
 string parm_aliasname the alias-name of the parameter 

Parameters:
 string FXStateChunk the FXStateChunk, from which you want to retrieve the ParmAlias-settings 
 integer fxid the fx, of which you want to get the parameter-alias-settings 
 integer id the id of the ParmAlias-settings you want to have, starting with 1 for the first 


^ Reaper version 5.975Ultraschall version 4.1Lua version 5.3 ^ GetParmAlias_MediaTrack

Functioncall:

integer parm_idx, string parm_aliasname = ultraschall.GetParmAlias_MediaTrack(MediaTrack MediaTrack, integer fxid, integer id)

Description:
Returns a parameter-aliasname-setting from a MediaTrack

It is the PARMALIAS-entry

Returns nil in case of an error

Returnvalues:
 integer parm_idx the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn 
 string parm_aliasname the alias-name of the parameter 

Parameters:
 MediaTrack MediaTrack the MediaTrack, whose ParmAlias-setting you want to get 
 integer fxid the fx, of which you want to get the parameter-alias-settings 
 integer id the id of the ParmAlias-settings you want to have, starting with 1 for the first 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetParmModulationChunk_FXStateChunk

Functioncall:

string parm_modulation_chunk = ultraschall.GetParmModulationChunk_FXStateChunk(string FXStateChunk, integer fxid, integer id)

Description:
Returns a parameter-modulation-chunk from an FXStateChunk
An FXStateChunk holds all FX-plugin-settings for a specific MediaTrack or MediaItem.

It's the
Returns nil in case of an error

Returnvalues:
 string parm_modulation_chunk a chunk of the parameter-modulation settings 

Parameters:
 string FXStateChunk the FXStateChunk, from which you want to retrieve the Parameter-modulation-settings 
 integer fxid the fx, of which you want to get the parameter-modulation-chunk-settings 
 integer id the id of the Parameter-modulation you want to have, starting with 1 for the first 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetParmLFOLearn_FXStateChunk

Functioncall:

integer parm_idx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message = ultraschall.GetParmLFOLearn_FXStateChunk(string FXStateChunk, integer fxid, integer id)

Description:
Returns a parameter-lfo-learn-setting from an FXStateChunk
An FXStateChunk holds all FX-plugin-settings for a specific MediaTrack or MediaItem.

It is the LFOLEARN-entry

Returns nil in case of an error

Returnvalues:
 integer parm_idx the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn 
 string parmname the name of the parameter, though usually only wet or bypass 
 integer midi_note the midinote, that is assigned to this; this is a multibyte value, with the first byte
being the MIDI-mode, and the second byte the MIDI/CC-note
       0,   OSC is used
       176, MIDI Chan 1 CC 0     (Byte1=176, Byte2=0)
       ...
       432, MIDI Chan 1 CC 1     (Byte1=176, Byte2=1)
       ...
       144,  MIDI Chan 1 Note 1  (Byte1=144, Byte2=0)
       400,  MIDI Chan 1 Note 1  (Byte1=144, Byte2=1)
       ...
       9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36)
       9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37)
       9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38)
         ...        
              
        CC Mode-dropdownlist:
           set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144)
            &65536 &131072 &262144
               0       0       0,      Absolute
               1       0       0,      Relative 1(127=-1, 1=+1)
               0       1       0,      Relative 2(63=-1, 65=+1)
               1       1       0,      Relative 3(65=-1, 1=+1)
               0       0       1,      Toggle (>0=toggle)  
 integer checkboxflags the checkboxes checked in the MIDI/OSC-learn dialog
0, no checkboxes
1, enable only when track or item is selected
2, Soft takeover (absolute mode only)
3, Soft takeover (absolute mode only)+enable only when track or item is selected
4, enable only when effect configuration is focused
20, enable only when effect configuration is visible 
 optional string osc_message the osc-message, that triggers the ParmLFOLearn 

Parameters:
 string FXStateChunk the FXStateChunk, from which you want to retrieve the ParmLFOLearn-settings 
 integer fxid the fx, of which you want to get the parameter-lfo-learn-settings 
 integer id the id of the ParmLFOLearn-settings you want to have, starting with 1 for the first 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetParmLFOLearn_MediaItem

Functioncall:

integer parm_idx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message = ultraschall.GetParmLFOLearn_MediaItem(MediaItem MediaItem, integer fxid, integer id)

Description:
Returns a parameter-lfo-learn-setting from a MediaItem

It is the LFOLEARN-entry

Returns nil in case of an error

Returnvalues:
 integer parm_idx the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn 
 string parmname the name of the parameter, though usually only wet or bypass 
 integer midi_note the midinote, that is assigned to this; this is a multibyte value, with the first byte
being the MIDI-mode, and the second byte the MIDI/CC-note
       0,   OSC is used
       176, MIDI Chan 1 CC 0     (Byte1=176, Byte2=0)
       ...
       432, MIDI Chan 1 CC 1     (Byte1=176, Byte2=1)
       ...
       144,  MIDI Chan 1 Note 1  (Byte1=144, Byte2=0)
       400,  MIDI Chan 1 Note 1  (Byte1=144, Byte2=1)
       ...
       9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36)
       9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37)
       9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38)
         ...        
              
        CC Mode-dropdownlist:
           set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144)
            &65536 &131072 &262144
               0       0       0,      Absolute
               1       0       0,      Relative 1(127=-1, 1=+1)
               0       1       0,      Relative 2(63=-1, 65=+1)
               1       1       0,      Relative 3(65=-1, 1=+1)
               0       0       1,      Toggle (>0=toggle)  
 integer checkboxflags the checkboxes checked in the MIDI/OSC-learn dialog
0, no checkboxes
1, enable only when track or item is selected
2, Soft takeover (absolute mode only)
3, Soft takeover (absolute mode only)+enable only when track or item is selected
4, enable only when effect configuration is focused
20, enable only when effect configuration is visible 
 optional string osc_message the osc-message, that triggers the ParmLFOLearn 

Parameters:
 MediaItem MediaItem the MediaItem, whose ParmLFOLearn-setting you want to get 
 integer fxid the fx, of which you want to get the parameter-lfo-learn-settings 
 integer id the id of the ParmLFOLearn-settings you want to have, starting with 1 for the first 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetParmLFOLearn_MediaTrack

Functioncall:

integer parm_idx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message = ultraschall.GetParmLFOLearn_MediaTrack(MediaTrack MediaTrack, integer fxid, integer id)

Description:
Returns a parameter-lfo-learn-setting from a MediaTrack

It is the LFOLEARN-entry

Returns nil in case of an error

Returnvalues:
 integer parm_idx the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn 
 string parmname the name of the parameter, though usually only wet or bypass 
 integer midi_note the midinote, that is assigned to this; this is a multibyte value, with the first byte
being the MIDI-mode, and the second byte the MIDI/CC-note
       0,   OSC is used
       176, MIDI Chan 1 CC 0     (Byte1=176, Byte2=0)
       ...
       432, MIDI Chan 1 CC 1     (Byte1=176, Byte2=1)
       ...
       144,  MIDI Chan 1 Note 1  (Byte1=144, Byte2=0)
       400,  MIDI Chan 1 Note 1  (Byte1=144, Byte2=1)
       ...
       9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36)
       9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37)
       9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38)
         ...        
              
        CC Mode-dropdownlist:
           set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144)
            &65536 &131072 &262144
               0       0       0,      Absolute
               1       0       0,      Relative 1(127=-1, 1=+1)
               0       1       0,      Relative 2(63=-1, 65=+1)
               1       1       0,      Relative 3(65=-1, 1=+1)
               0       0       1,      Toggle (>0=toggle)  
 integer checkboxflags the checkboxes checked in the MIDI/OSC-learn dialog
0, no checkboxes
1, enable only when track or item is selected
2, Soft takeover (absolute mode only)
3, Soft takeover (absolute mode only)+enable only when track or item is selected
4, enable only when effect configuration is focused
20, enable only when effect configuration is visible 
 optional string osc_message the osc-message, that triggers the ParmLFOLearn 

Parameters:
 MediaTrack MediaTrack the MediaTrack, whose ParmLFOLearn-setting you want to get 
 integer fxid the fx, of which you want to get the parameter-lfo-learn-settings 
 integer id the id of the ParmLFOLearn-settings you want to have, starting with 1 for the first 


^ Reaper version 5.977Ultraschall version 4.00SWS version 2.10.0.1Julian Sader's plugin version 0.986Lua version 5.3 ^ ScanDXPlugins

Functioncall:

ultraschall.ScanDXPlugins(optional boolean re_scan)

Description:
(Re-)scans all DX-Plugins.


Parameters:
 optional boolean clear_cache true, re-scan all DX-plugins; false or nil, only scan new DX-plugins 


^ Reaper version 5.979Ultraschall version 4.00Lua version 5.3 ^ DeleteParmLearn_FXStateChunk

Functioncall:

boolean retval, string alteredFXStateChunk = ultraschall.DeleteParmLearn_FXStateChunk(string FXStateChunk, integer fxid, integer id)

Description:
Deletes a ParmLearn-entry from an FXStateChunk.

Unlike DeleteParmLearn2_FXStateChunk, this indexes by the already existing parmlearns and not by parameters.

returns false in case of an error

Returnvalues:
 boolean retval true, if deletion was successful; false, if the function couldn't delete anything 
 string alteredFXStateChunk the altered FXStateChunk 

Parameters:
 string FXStateChunk the FXStateChunk, which you want to delete a ParmLearn from 
 integer fxid the id of the fx, which holds the to-delete-ParmLearn-entry; beginning with 1 
 integer id the id of the ParmLearn-entry to delete; beginning with 1 


^ Reaper version 5.979Ultraschall version 4.00Lua version 5.3 ^ DeleteParmAlias_FXStateChunk

Functioncall:

boolean retval, string alteredFXStateChunk = ultraschall.DeleteParmAlias_FXStateChunk(string FXStateChunk, integer fxid, integer id)

Description:
Deletes a ParmAlias-entry from an FXStateChunk.

It's the PARMALIAS-entry

returns false in case of an error

Returnvalues:
 boolean retval true, if deletion was successful; false, if the function couldn't delete anything 
 string alteredFXStateChunk the altered FXStateChunk 

Parameters:
 string FXStateChunk the FXStateChunk, which you want to delete a ParmAlias from 
 integer fxid the id of the fx, which holds the to-delete-ParmAlias-entry; beginning with 1 
 integer id the id of the ParmAlias-entry to delete; beginning with 1 


^ Reaper version 5.979Ultraschall version 4.00Lua version 5.3 ^ DeleteParmLFOLearn_FXStateChunk

Functioncall:

boolean retval, string alteredFXStateChunk = ultraschall.DeleteParmLFOLearn_FXStateChunk(string FXStateChunk, integer fxid, integer id)

Description:
Deletes a ParmLFO-Learn-entry from an FXStateChunk.

It's the LFOLEARN-entry

returns false in case of an error

Returnvalues:
 boolean retval true, if deletion was successful; false, if the function couldn't delete anything 
 string alteredFXStateChunk the altered FXStateChunk 

Parameters:
 string FXStateChunk the FXStateChunk, which you want to delete a ParmLFO-Learn-entry from 
 integer fxid the id of the fx, which holds the to-delete-ParmLFO-Learn-entry; beginning with 1 
 integer id the id of the ParmLFO-Learn-entry to delete; beginning with 1 


^ Reaper version 5.979Ultraschall version 4.00Lua version 5.3 ^ SetParmLFOLearn_FXStateChunk

Functioncall:

boolean retval, optional string alteredFXStateChunk = ultraschall.SetParmLFOLearn_FXStateChunk(string FXStateChunk, integer fxid, integer id, integer midi_note, integer checkboxflags, optional string osc_message)

Description:
Sets an already existing ParmLFO-Learn-entry of an FX-plugin from an FXStateChunk.

It's the LFOLEARN-entry

returns false in case of an error

Returnvalues:
 boolean retval true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLFO) 
 optional string alteredFXStateChunk the altered FXStateChunk 

Parameters:
 string FXStateChunk the FXStateChunk, in which you want to set a ParmLFO-Learn-entry 
 integer fxid the id of the fx, which holds the to-set-ParmLFO-Learn-entry; beginning with 1 
 integer id the id of the ParmLFO-Learn-entry to set; beginning with 1 
 integer midi_note the midinote, that is assigned to this; this is a multibyte value, with the first byte
being the MIDI-mode, and the second byte the MIDI/CC-note
       0,   OSC is used
       176, MIDI Chan 1 CC 0     (Byte1=176, Byte2=0)
       ...
       432, MIDI Chan 1 CC 1     (Byte1=176, Byte2=1)
       ...
       144,  MIDI Chan 1 Note 1  (Byte1=144, Byte2=0)
       400,  MIDI Chan 1 Note 1  (Byte1=144, Byte2=1)
       ...
       9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36)
       9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37)
       9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38)
         ...        
              
        CC Mode-dropdownlist:
           set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144)
            &65536 &131072 &262144
               0       0       0,      Absolute
               1       0       0,      Relative 1(127=-1, 1=+1)
               0       1       0,      Relative 2(63=-1, 65=+1)
               1       1       0,      Relative 3(65=-1, 1=+1)
               0       0       1,      Toggle (>0=toggle)  
 integer checkboxflags the checkboxes checked in the MIDI/OSC-learn dialog
    0, no checkboxes
    1, enable only when track or item is selected
    2, Soft takeover (absolute mode only)
    3, Soft takeover (absolute mode only)+enable only when track or item is selected
    4, enable only when effect configuration is focused
    20, enable only when effect configuration is visible  
 optional string osc_message the osc-message, that triggers the ParmLFOLearn, only when midi_note is set to 0! 


^ Reaper version 5.979Ultraschall version 4.00Lua version 5.3 ^ SetParmLearn_FXStateChunk

Functioncall:

boolean retval, optional string alteredFXStateChunk = ultraschall.SetParmLearn_FXStateChunk(string FXStateChunk, integer fxid, integer id, integer midi_note, integer checkboxflags, optional string osc_message)

Description:
Sets an already existing Parm-Learn-entry of an FX-plugin from an FXStateChunk.

It's the PARMLEARN-entry

returns false in case of an error

Returnvalues:
 boolean retval true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLearn) 
 optional string alteredFXStateChunk the altered FXStateChunk 

Parameters:
 string FXStateChunk the FXStateChunk, in which you want to set a Parm-Learn-entry 
 integer fxid the id of the fx, which holds the to-set-Parm-Learn-entry; beginning with 1 
 integer id the id of the Parm-Learn-entry to set; beginning with 1 
 integer midi_note the midinote, that is assigned to this; this is a multibyte value, with the first byte
   being the MIDI-mode, and the second byte the MIDI/CC-note
       0,   OSC is used
       176, MIDI Chan 1 CC 0     (Byte1=176, Byte2=0)
       ...
       432, MIDI Chan 1 CC 1     (Byte1=176, Byte2=1)
       ...
       144,  MIDI Chan 1 Note 1  (Byte1=144, Byte2=0)
       400,  MIDI Chan 1 Note 1  (Byte1=144, Byte2=1)
       ...
       9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36)
       9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37)
       9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38)
         ...
        
   CC Mode-dropdownlist:
      set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144)
       &65536 &131072 &262144
          0       0       0,      Absolute
          1       0       0,      Relative 1(127=-1, 1=+1)
          0       1       0,      Relative 2(63=-1, 65=+1)
          1       1       0,      Relative 3(65=-1, 1=+1)
          0       0       1,      Toggle (>0=toggle) 
 integer checkboxflags the checkboxes checked in the MIDI/OSC-learn dialog
    0, no checkboxes
    1, enable only when track or item is selected
    2, Soft takeover (absolute mode only)
    3, Soft takeover (absolute mode only)+enable only when track or item is selected
    4, enable only when effect configuration is focused
    20, enable only when effect configuration is visible  
 optional string osc_message the osc-message, that triggers the ParmLearn, only when midi_note is set to 0! 


^ Reaper version 5.979Ultraschall version 4.1Lua version 5.3 ^ SetParmAlias_FXStateChunk

Functioncall:

boolean retval, optional string alteredFXStateChunk = ultraschall.SetParmAlias_FXStateChunk(string FXStateChunk, integer fxid, integer id, string parmalias)

Description:
Sets an already existing Parm-Learn-entry of an FX-plugin from an FXStateChunk.

It's the PARMALIAS-entry

The parameter id counts with the first aliasname found in the FXStateChunk for this fx, regardless, if the first found aliasname is for parameter 1 or 23, etc.
If you want to adress it by parameter-index, use SetParmAlias2_FXStateChunk instead.

returns false in case of an error

Returnvalues:
 boolean retval true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLearn) 
 optional string alteredFXStateChunk the altered FXStateChunk 

Parameters:
 string FXStateChunk the FXStateChunk, in which you want to set a Parm-Alias-entry 
 integer fxid the id of the fx, which holds the to-set-Parm-Alias-entry; beginning with 1 
 integer id the id of the Parm-Alias-entry to set; beginning with 1 
 string parmalias the new aliasname of the parameter 


^ Reaper version 5.979Ultraschall version 4.1Lua version 5.3 ^ SetParmAlias2_FXStateChunk

Functioncall:

boolean retval, optional string alteredFXStateChunk = ultraschall.SetParmAlias2_FXStateChunk(string FXStateChunk, integer fxid, integer parmidx, string parmalias)

Description:
Sets an already existing Parm-Learn-entry of an FX-plugin from an FXStateChunk.

Unlike SetParmAlias_FXStateChunk, the parameter parmidx counts by parameter-order, not existing aliasnames. If a parameter has no aliasname yet, it will return false.

It's the PARMALIAS-entry



returns false in case of an error

Returnvalues:
 boolean retval true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLearn) 
 optional string alteredFXStateChunk the altered FXStateChunk 

Parameters:
 string FXStateChunk the FXStateChunk, in which you want to set a Parm-Alias-entry 
 integer fxid the id of the fx, which holds the to-set-Parm-Alias-entry; beginning with 1 
 integer parmidx the index of the parameter, whose Parm-Alias-entry you want to to set; beginning with 1 
 string parmalias the new aliasname of the parameter 


^ Reaper version 5.979Ultraschall version 4.00Lua version 5.3 ^ SetFXStateChunk

Functioncall:

boolean retval, optional string alteredStateChunk = ultraschall.SetFXStateChunk(string StateChunk, string FXStateChunk, optional integer TakeFXChain_id)

Description:
Adds/replaces FXStateChunk to/in a TrackStateChunk or a MediaItemStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if setting fxstatechunk was successful; false, if setting was unsuccessful 
 optional string alteredStateChunk the altered StateChunk 

Parameters:
 string StateChunk the TrackStateChunk, into which you want to set the FXChain 
 string FXStateChunk the FXStateChunk, which you want to set into the TrackStateChunk 
 optional integer TakeFXChain_id when using MediaItemStateChunks, this allows you to choose the take of which you want the FXChain; default is 1 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetFXStateChunk

Functioncall:

string FXStateChunk, integer linenumber = ultraschall.GetFXStateChunk(string StateChunk, optional integer TakeFXChain_id)

Description:
Returns an FXStateChunk from a TrackStateChunk or a MediaItemStateChunk.

An FXStateChunk holds all FX-plugin-settings for a specific MediaTrack or MediaItem.

Returns nil in case of an error or if no FXStateChunk has been found.

Returnvalues:
 string FXStateChunk the FXStateChunk, stored in the StateChunk 
 integer linenumber returns the first linenumber, at which the found FXStateChunk starts in the StateChunk 

Parameters:
 string StateChunk the StateChunk, from which you want to retrieve the FXStateChunk 
 optional integer TakeFXChain_id when using MediaItemStateChunks, this allows you to choose the take of which you want the FXChain; default is 1 


^ Reaper version 5.979Ultraschall version 4.00Lua version 5.3 ^ AddParmLFOLearn_FXStateChunk

Functioncall:

boolean retval, optional string alteredFXStateChunk = ultraschall.AddParmLFOLearn_FXStateChunk(string FXStateChunk, integer fxid, integer parmidx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message)

Description:
Adds a new Parm-LFOLearn-entry to an FX-plugin from an FXStateChunk.

It's the LFOLEARN-entry

returns false in case of an error

Returnvalues:
 boolean retval true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLearn) 
 optional string alteredFXStateChunk the altered FXStateChunk 

Parameters:
 string FXStateChunk the FXStateChunk, in which you want to set a Parm-Learn-entry 
 integer fxid the id of the fx, which holds the to-set-Parm-Learn-entry; beginning with 1 
 integer parmidx the parameter, whose alias you want to add 
 string parmname the name of the parameter, usually \"\" or \"byp\" for bypass or \"wet\" for wet; when using wet or bypass, these are essential to give! 
 integer midi_note the midinote, that is assigned to this; this is a multibyte value, with the first byte
being the MIDI-mode, and the second byte the MIDI/CC-note
       0,   OSC is used
       176, MIDI Chan 1 CC 0     (Byte1=176, Byte2=0)
       ...
       432, MIDI Chan 1 CC 1     (Byte1=176, Byte2=1)
       ...
       144,  MIDI Chan 1 Note 1  (Byte1=144, Byte2=0)
       400,  MIDI Chan 1 Note 1  (Byte1=144, Byte2=1)
       ...
       9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36)
       9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37)
       9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38)
         ...        
              
        CC Mode-dropdownlist:
           set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144)
            &65536 &131072 &262144
               0       0       0,      Absolute
               1       0       0,      Relative 1(127=-1, 1=+1)
               0       1       0,      Relative 2(63=-1, 65=+1)
               1       1       0,      Relative 3(65=-1, 1=+1)
               0       0       1,      Toggle (>0=toggle)  
 integer checkboxflags the checkboxes checked in the MIDI/OSC-learn dialog
    0, no checkboxes
    1, enable only when track or item is selected
    2, Soft takeover (absolute mode only)
    3, Soft takeover (absolute mode only)+enable only when track or item is selected
    4, enable only when effect configuration is focused
    20, enable only when effect configuration is visible  
 optional string osc_message the osc-message, that triggers the ParmLFOLearn, only when midi_note is set to 0! 


^ Reaper version 5.979Ultraschall version 4.00Lua version 5.3 ^ AddParmLearn_FXStateChunk

Functioncall:

boolean retval, optional string alteredFXStateChunk = ultraschall.AddParmLearn_FXStateChunk(string FXStateChunk, integer fxid, integer parmidx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message)

Description:
Adds a new Parm-Learn-entry to an FX-plugin from an FXStateChunk.

It's the PARMLEARN-entry

returns false in case of an error

Returnvalues:
 boolean retval true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLearn) 
 optional string alteredFXStateChunk the altered FXStateChunk 

Parameters:
 string FXStateChunk the FXStateChunk, in which you want to set a Parm-Learn-entry 
 integer fxid the id of the fx, which holds the to-set-Parm-Learn-entry; beginning with 1 
 integer parmidx the parameter, whose alias you want to add 
 string parmname the name of the parameter, usually \"\" or \"byp\" for bypass or \"wet\" for wet; when using wet or bypass, these are essential to give, otherwise just pass "" 
 integer midi_note an integer representation of the MIDI-note, which is set as command; 0, in case of an OSC-message
    examples:
            0,   OSC is used
            176, MIDI Chan 1 CC 0
            ...
            432, MIDI Chan 1 CC 1
            ...
            9360, MIDI Chan 1 Note 36
            9616, MIDI Chan 1 Note 37
            9872, MIDI Chan 1 Note 38
              ...
              
        CC Mode-dropdownlist:
           set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144)
            &65536 &131072 &262144
               0       0       0,      Absolute
               1       0       0,      Relative 1(127=-1, 1=+1)
               0       1       0,      Relative 2(63=-1, 65=+1)
               1       1       0,      Relative 3(65=-1, 1=+1)
               0       0       1,      Toggle (>0=toggle)  
 integer checkboxflags the checkboxes checked in the MIDI/OSC-learn dialog
    0, no checkboxes
    1, enable only when track or item is selected
    2, Soft takeover (absolute mode only)
    3, Soft takeover (absolute mode only)+enable only when track or item is selected
    4, enable only when effect configuration is focused
    20, enable only when effect configuration is visible  
 optional string osc_message the osc-message, that triggers the ParmLearn, only when midi_note is set to 0! 


^ Reaper version 5.979Ultraschall version 4.1Lua version 5.3 ^ AddParmAlias_FXStateChunk

Functioncall:

boolean retval, optional string alteredFXStateChunk = ultraschall.AddParmAlias_FXStateChunk(string FXStateChunk, integer fxid, integer parmidx, string parmalias)

Description:
Adds a new Parm-Alias-entry to an FX-plugin from an FXStateChunk.

It's the PARMALIAS-entry

returns false in case of an error

Returnvalues:
 boolean retval true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLearn) 
 optional string alteredFXStateChunk the altered FXStateChunk 

Parameters:
 string FXStateChunk the FXStateChunk, in which you want to set a Parm-Alias-entry 
 integer fxid the id of the fx, which holds the to-set-Parm-Alias-entry; beginning with 1 
 integer parmidx the parameter, whose alias you want to add 
 string parmalias the new aliasname of the parameter 


^ Reaper version 5.979Ultraschall version 4.00Lua version 5.3 ^ CountParmAlias_FXStateChunk

Functioncall:

integer count = ultraschall.CountParmAlias_FXStateChunk(string FXStateChunk, integer fxid)

Description:
Counts already existing Parm-Alias-entries of an FX-plugin from an FXStateChunk.

It's the PARMALIAS-entry

returns -1 in case of an error

Returnvalues:
 integer count the number of ParmAliases found 

Parameters:
 string FXStateChunk the FXStateChunk, in which you want to count a Parm-Learn-entry 
 integer fxid the id of the fx, which holds the to-count-Parm-Learn-entry; beginning with 1 


^ Reaper version 5.979Ultraschall version 4.1Lua version 5.3 ^ CountParmLearn_FXStateChunk

Functioncall:

integer count = ultraschall.CountParmLearn_FXStateChunk(string FXStateChunk, integer fxid)

Description:
Counts already existing Parm-Learn-entries of an FX-plugin from an FXStateChunk.

It's the PARMLEARN-entry

returns -1 in case of an error

Returnvalues:
 integer count the number of ParmLearn-entries found 

Parameters:
 string FXStateChunk the FXStateChunk, in which you want to count a Parm-Learn-entry 
 integer fxid the id of the fx, which holds the to-count-Parm-Learn-entry; beginning with 1 


^ Reaper version 5.979Ultraschall version 4.00Lua version 5.3 ^ CountParmLFOLearn_FXStateChunk

Functioncall:

integer count = ultraschall.CountParmLFOLearn_FXStateChunk(string FXStateChunk, integer fxid)

Description:
Counts already existing Parm-LFOLearn-entries of an FX-plugin from an FXStateChunk.

It's the LFOLEARN-entry

returns -1 in case of an error

Returnvalues:
 integer count the number of LFOLearn-entries found 

Parameters:
 string FXStateChunk the FXStateChunk, in which you want to count a Parm-LFOLearn-entry 
 integer fxid the id of the fx, which holds the to-count-Parm-LFOLearn-entry; beginning with 1 


^ Reaper version 5.977Ultraschall version 4.00SWS version 2.10.0.1Julian Sader's plugin version 0.986Lua version 5.3 ^ ScanVSTPlugins

Functioncall:

ultraschall.ScanVSTPlugins(optional boolean clear_cache)

Description:
Re-scans all VST-Plugins.


Parameters:
 optional boolean clear_cache true, clear cache before re-scanning; false or nil, just scan vts-plugins 


^ Reaper version 5.977Ultraschall version 4.00SWS version 2.10.0.1Julian Sader's plugin version 0.986Lua version 5.3 ^ AutoDetectVSTPluginsFolder

Functioncall:

ultraschall.AutoDetectVSTPluginsFolder()

Description:
Auto-detects the vst-plugins-folder.




^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ CountFXStateChunksInStateChunk

Functioncall:

integer count_of_takefx_statechunks, integer count_of_trackfx_statechunks = ultraschall.CountFXStateChunksInStateChunk(string StateChunk)

Description:
Counts all FXStateChunks within a StateChunk.
You can pass ItemStateChunks, TrackStateChunks and ProjectStateChunks.

returns -1 in case of an error.

Returnvalues:
 integer count_of_takefx_statechunks the number of take-fx-StateChunks within the StateChunk. When passing Track/ProjectStateChunks, it returns number of all FXStateChunks from all Takes within the StateChunk 
 integer count_of_trackfx_statechunks the number of TrackFX-StateChunks; each track alawys has a single one, so it should match the number of tracks within the StateChunk; 0, if you pass a ItemStateChunk 

Parameters:
 string StateChunk the StateChunk, whose count of FXStateChunks you want to retrieve 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ RemoveFXStateChunkFromTrackStateChunk

Functioncall:

string altered_TrackStateChunk = ultraschall.RemoveFXStateChunkFromTrackStateChunk(string TrackStateChunk)

Description:
Clears the FXChain from a TrackStateChunk

returns nil in case of an error.

Returnvalues:
 string altered_TrackStateChunk the TrackStateChunk, cleared of the Track-FXStateChunk 

Parameters:
 string TrackStateChunk the TrackStateChunk, whose FXStateChunk you want to remove 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ RemoveFXStateChunkFromItemStateChunk

Functioncall:

string alteredItemStateChunk = ultraschall.RemoveFXStateChunkFromItemStateChunk(string ItemStateChunk, integer take_id)

Description:
Removes a certain Take-FXStateChunk from an ItemStateChunk.

Returns nil in case of failure.

Returnvalues:
 string alteredItemStateChunk the StateChunk, from which the FXStateChunk was removed 

Parameters:
 string ItemStateChunk the ItemStateChunk, from which you want to remove an FXStateChunk 
 integer take_id the take, whose FXStateChunk you want to remove 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ LoadFXStateChunkFromRFXChainFile

Functioncall:

string FXStateChunk = ultraschall.LoadFXStateChunkFromRFXChainFile(string filename, integer trackfx_or_takefx)

Description:
Loads an FXStateChunk from an RFXChain-file.

If you don't give a path, it will try to load the file from the folder ResourcePath/FXChains.

returns nil in case of an error

Returnvalues:
 string FXStateChunk the loaded FXStateChunk; nil, in case of an error 

Parameters:
 string filename the filename of the RFXChain-file(must include ".RfxChain"); omit the path to load it from the folder ResourcePath/FXChains 
 integer trackfx_or_takefx 0, return the FXStateChunk as Track-FXStateChunk; 1, return the FXStateChunk as Take-FXStateChunk 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ SaveFXStateChunkAsRFXChainfile

Functioncall:

integer retval = ultraschall.SaveFXStateChunkAsRFXChainfile(string filename, string FXStateChunk)

Description:
Loads an FXStateChunk from an RFXChain-file.

If you don't give a path, it will try to load the file from the folder ResourcePath/FXChains.

returns -1 in case of an error

Returnvalues:
 integer retval -1 in case of failure, 1 in case of success 

Parameters:
 string filename the filename of the output-RFXChain-file(must include ".RfxChain"); omit the path to save it into the folder ResourcePath/FXChains 
 string FXStateChunk the FXStateChunk, which you want to set into the TrackStateChunk 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetAllRFXChainfilenames

Functioncall:

integer count_of_RFXChainfiles, array RFXChainfiles = ultraschall.GetAllRFXChainfilenames()

Description:
Returns all available RFXChainfiles in the folder ResourcePath/FXChains

Returnvalues:
 integer count_of_RFXChainfiles the number of available RFXChainFiles 
 array RFXChainfiles the filenames of the RFXChainfiles 



^ Reaper version 6.02Ultraschall version 4.00SWS version 2.10.0.1Lua version 5.3 ^ GetRecentFX

Functioncall:

integer count_of_RecentFX, array RecentFX = ultraschall.GetRecentFX()

Description:
Returns the recent fx-list

Returnvalues:
 integer count_of_RecentFX the number of available recent fx 
 array RecentFX the names of the recent fx 



^ Reaper version 6.11Ultraschall version 4.1Lua version 5.3 ^ GetTrackFX_AlternativeName

Functioncall:

string alternative_fx_name = ultraschall.GetTrackFX_AlternativeName(integer tracknumber, integer fx_id)

Description:
Returns the alternative name of a specific trackfx.

Returns nil in case of an error

Returnvalues:
 string alternative_fx_name the alternative fx-name set for this fx 



^ Reaper version 6.11Ultraschall version 4.1Lua version 5.3 ^ GetTakeFX_AlternativeName

Functioncall:

string alternative_fx_name = ultraschall.GetTakeFX_AlternativeName(integer tracknumber, integer take_id, integer fx_id)

Description:
Returns the alternative name of a specific takefx.

Returns nil in case of an error

Returnvalues:
 string alternative_fx_name the alternative fx-name set for this fx 



^ Reaper version 6.11Ultraschall version 4.1Lua version 5.3 ^ SetTrackFX_AlternativeName

Functioncall:

boolean retval = ultraschall.SetTrackFX_AlternativeName(integer tracknumber, integer fx_id, string newname)

Description:
sets the alternative name of a specific trackfx.

Returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 



^ Reaper version 6.11Ultraschall version 4.1Lua version 5.3 ^ SetTakeFX_AlternativeName

Functioncall:

boolean retval = ultraschall.SetTakeFX_AlternativeName(integer tracknumber, integer take_id, integer fx_id, string newname)

Description:
sets the alternative name of a specific takefx.

Returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 



^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ GetFXSettingsString_FXLines

Functioncall:

string fx_statestring_base64, string fx_statestring = ultraschall.GetFXSettingsString_FXLines(string fx_lines)

Description:
Returns the fx-states-string of a fx, as stored as an base64-string.byte
It returns its decoded and encoded version of it.

Use GetFXFromFXStateChunk to get the requested parameter "fx_lines"

returns nil in case of an error

Returnvalues:
 string fx_statestring_base64 the base64-version of the state-string, which holds all fx-settings of the fx 
 string fx_statestring the decoded binary-version of the state-string, which holds all fx-settings of the fx 

Parameters:
 string fx_lines the statechunk-lines of an fx, as returned by the function GetFXFromFXStateChunk() 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ GetParmModTable_FXStateChunk

Functioncall:

table ParmModulationTable = ultraschall.GetParmModTable_FXStateChunk(string FXStateChunk, integer fxindex, integer parmodindex)

Description:
Returns a table with all values of a specific Parameter-Modulation from an FXStateChunk.

The table's format is as follows:

            ParmModTable["PARAM_NR"]               - the parameter that you want to modulate; 1 for the first, 2 for the second, etc
            ParmModTable["PARAM_TYPE"]             - the type of the parameter, usually "", "wet" or "bypass"

            ParmModTable["PARAMOD_ENABLE_PARAMETER_MODULATION"]
                                                    - Enable parameter modulation, baseline value(envelope overrides)-checkbox;
                                                      true, checked; false, unchecked
            ParmModTable["PARAMOD_BASELINE"]       - Enable parameter modulation, baseline value(envelope overrides)-slider;
                                                        0.000 to 1.000

            ParmModTable["AUDIOCONTROL"]           - is the Audio control signal(sidechain)-checkbox checked; true, checked; false, unchecked
                                                        Note: if true, this needs all AUDIOCONTROL_-entries to be set
            ParmModTable["AUDIOCONTROL_CHAN"]      - the Track audio channel-dropdownlist; When stereo, the first stereo-channel;
                                                      nil, if not available
            ParmModTable["AUDIOCONTROL_STEREO"]    - 0, just use mono-channels; 1, use the channel AUDIOCONTROL_CHAN plus
                                                        AUDIOCONTROL_CHAN+1; nil, if not available
            ParmModTable["AUDIOCONTROL_ATTACK"]    - the Attack-slider of Audio Control Signal; 0-1000 ms; nil, if not available
            ParmModTable["AUDIOCONTROL_RELEASE"]   - the Release-slider; 0-1000ms; nil, if not available
            ParmModTable["AUDIOCONTROL_MINVOLUME"] - the Min volume-slider; -60dB to 11.9dB; must be smaller than AUDIOCONTROL_MAXVOLUME;
                                                      nil, if not available
            ParmModTable["AUDIOCONTROL_MAXVOLUME"] - the Max volume-slider; -59.9dB to 12dB; must be bigger than AUDIOCONTROL_MINVOLUME;
                                                      nil, if not available
            ParmModTable["AUDIOCONTROL_STRENGTH"]  - the Strength-slider; 0(0%) to 1000(100%)
            ParmModTable["AUDIOCONTROL_DIRECTION"] - the direction-radiobuttons; -1, negative; 0, centered; 1, positive
            ParmModTable["X2"]=0.5                 - the audiocontrol signal shaping-x-coordinate
            ParmModTable["Y2"]=0.5                 - the audiocontrol signal shaping-y-coordinate    
            
            ParmModTable["LFO"]                    - if the LFO-checkbox checked; true, checked; false, unchecked
                                                        Note: if true, this needs all LFO_-entries to be set
            ParmModTable["LFO_SHAPE"]              - the LFO Shape-dropdownlist;
                                                        0, sine; 1, square; 2, saw L; 3, saw R; 4, triangle; 5, random
                                                        nil, if not available
            ParmModTable["LFO_SHAPEOLD"]           - use the old-style of the LFO_SHAPE;
                                                        0, use current style of LFO_SHAPE;
                                                        1, use old style of LFO_SHAPE;
                                                        nil, if not available
            ParmModTable["LFO_TEMPOSYNC"]          - the Tempo sync-checkbox; true, checked; false, unchecked
            ParmModTable["LFO_SPEED"]              - the LFO Speed-slider; 0(0.0039Hz) to 1(8.0000Hz); nil, if not available
            ParmModTable["LFO_STRENGTH"]           - the LFO Strength-slider; 0.000(0.0%) to 1.000(100.0%)
            ParmModTable["LFO_PHASE"]              - the LFO Phase-slider; 0.000 to 1.000; nil, if not available
            ParmModTable["LFO_DIRECTION"]          - the LFO Direction-radiobuttons; -1, Negative; 0, Centered; 1, Positive
            ParmModTable["LFO_PHASERESET"]         - the LFO Phase reset-dropdownlist;
                                                        0, On seek/loop(deterministic output)
                                                        1, Free-running(non-deterministic output)
                                                        nil, if not available

            ParmModTable["PARMLINK"]               - the Link from MIDI or FX parameter-checkbox
                                                      true, checked; false, unchecked
            ParmModTable["PARMLINK_LINKEDPLUGIN"]  - the selected plugin; nil, if not available
                                                        -1, nothing selected yet
                                                        -100, MIDI-parameter-settings
                                                        1 - the first fx-plugin
                                                        2 - the second fx-plugin
                                                        3 - the third fx-plugin, etc
            ParmModTable["PARMLINK_LINKEDPARMIDX"] - the id of the linked parameter; -1, if none is linked yet; nil, if not available;
                                                   - will be ignored, when PARMLINK_LINKEDPLUGIN_RELATIVE is set
                                                        When MIDI, this is irrelevant.
                                                        When FX-parameter:
                                                          0 to n; 0 for the first; 1, for the second, etc
            ParmModTable["PARMLINK_LINKEDPLUGIN_RELATIVE"] - the linked plugin relative to the current one in the FXChain
                                                           - 0, use parameter of the current fx-plugin
                                                           - negative, use parameter of a plugin above of the current plugin(-1, the one above; -2, two above, etc)
                                                           - positive, use parameter of a plugin below the current plugin(1, the one below; 2, two below, etc)
                                                           - nil, uses only the plugin linked absolute(the one linked with PARMLINK_LINKEDPARMIDX)
            ParmModTable["PARMLINK_OFFSET"]        - the Offset-slider; -1.00(-100%) to 1.00(+100%); nil, if not available
            ParmModTable["PARMLINK_SCALE"]         - the Scale-slider; -1.00(-100%) to 1.00(+100%); nil, if not available

            ParmModTable["MIDIPLINK"]              - true, if any parameter-linking with MIDI-stuff; false, if not
                                                        Note: if true, this needs all MIDIPLINK_-entries and PARMLINK_LINKEDPLUGIN=-100 to be set
            ParmModTable["MIDIPLINK_BUS"]          - the MIDI-bus selected in the button-menu;
                                                        0 to 15 for bus 1 to 16;
                                                        nil, if not available
            ParmModTable["MIDIPLINK_CHANNEL"]      - the MIDI-channel selected in the button-menu;
                                                        0, omni; 1 to 16 for channel 1 to 16;
                                                        nil, if not available
            ParmModTable["MIDIPLINK_MIDICATEGORY"] - the MIDI_Category selected in the button-menu; nil, if not available
                                                        144, MIDI note
                                                        160, Aftertouch
                                                        176, CC 14Bit and CC
                                                        192, Program Change
                                                        208, Channel Pressure
                                                        224, Pitch
            ParmModTable["MIDIPLINK_MIDINOTE"]     - the MIDI-note selected in the button-menu; nil, if not available
                                                      When MIDI note:
                                                           0(C-2) to 127(G8)
                                                      When Aftertouch:
                                                           0(C-2) to 127(G8)
                                                      When CC14 Bit:
                                                           128 to 159; see dropdownlist for the commands(the order of the list
                                                           is the same as this numbering)
                                                      When CC:
                                                           0 to 119; see dropdownlist for the commands(the order of the list
                                                           is the same as this numbering)
                                                      When Program Change:
                                                           0
                                                      When Channel Pressure:
                                                           0
                                                      When Pitch:
                                                           0
            ParmModTable["WINDOW_ALTERED"]         - false, if the windowposition hasn't been altered yet; true, if the window has been altered
                                                        Note: if true, this needs all WINDOW_-entries to be set
            ParmModTable["WINDOW_ALTEREDOPEN"]     - if the position of the ParmMod-window is altered and currently open;
                                                        nil, unchanged; 0, unopened; 1, open
            ParmModTable["WINDOW_XPOS"]            - the x-position of the altered ParmMod-window in pixels; nil, default position
            ParmModTable["WINDOW_YPOS"]            - the y-position of the altered ParmMod-window in pixels; nil, default position
            ParmModTable["WINDOW_RIGHT"]           - the right-position of the altered ParmMod-window in pixels;
                                                        nil, default position; only readable
            ParmModTable["WINDOW_BOTTOM"]          - the bottom-position of the altered ParmMod-window in pixels;
                                                        nil, default position; only readable

returns nil in case of an error

Returnvalues:
 table ParmModulationTable a table which holds all values of a specfic parameter-modulation 

Parameters:
 string FXStateChunk an FXStateChunk, of which you want to get the values of a specific parameter-modulation 
 integer fxindex the index if the fx, of which you want to get specific parameter-modulation-values 
 integer parmodindex the parameter-modulation, whose values you want to get; 1, for the first; 2, for the second, etc 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ CreateDefaultParmModTable

Functioncall:

table ParmModTable = ultraschall.CreateDefaultParmModTable()

Description:
returns a parameter-modulation-table with default settings set.
You can alter these settings to your needs before committing it to an FXStateChunk.

The checkboxes for "Audio control signal (sidechain)", "LFO", "Link from MIDI or FX parameter" are unchecked and the fx-parameter is set to 1(the first parameter of the plugin).
To enable and change them, you need to alter the following entries accordingly, or applying the ParmModTable has no effect:
  
        ParmModTable["AUDIOCONTROL"] - the checkbox for "Audio control signal (sidechain)"
        ParmModTable["LFO"]      - the checkbox for "LFO"
        ParmModTable["PARMLINK"] - the checkbox for "Link from MIDI or FX parameter"
        ParmModTable["PARAM_NR"] - the index of the fx-parameter for which the parameter-modulation-table is intended

The table's format and its default-values is as follows:
    

                ParmModTable["PARAM_NR"]=1              - the parameter that you want to modulate; 1 for the first, 2 for the second, etc
                ParmModTable["PARAM_TYPE"]=""           - the type of the parameter, usually "", "wet" or "bypass"

                ParmModTable["PARAMOD_ENABLE_PARAMETER_MODULATION"]=true
                                                        - Enable parameter modulation, baseline value(envelope overrides)-checkbox;
                                                          true, checked; false, unchecked
                ParmModTable["PARAMOD_BASELINE"]=0     - Enable parameter modulation, baseline value(envelope overrides)-slider;
                                                            0.000 to 1.000

                ParmModTable["AUDIOCONTROL"]=false           - is the Audio control signal(sidechain)-checkbox checked; true, checked; false, unchecked
                                                                  Note: if true, this needs all AUDIOCONTROL_-entries to be set                      
                ParmModTable["AUDIOCONTROL_CHAN"]=1          - the Track audio channel-dropdownlist; When stereo, the first stereo-channel;
                                                                nil, if not available
                ParmModTable["AUDIOCONTROL_STEREO"]=0        - 0, just use mono-channels; 1, use the channel AUDIOCONTROL_CHAN plus
                                                                  AUDIOCONTROL_CHAN+1; nil, if not available
                ParmModTable["AUDIOCONTROL_ATTACK"]=300      - the Attack-slider of Audio Control Signal; 0-1000 ms; nil, if not available
                ParmModTable["AUDIOCONTROL_RELEASE"]=300     - the Release-slider; 0-1000ms; nil, if not available
                ParmModTable["AUDIOCONTROL_MINVOLUME"]=-24   - the Min volume-slider; -60dB to 11.9dB; must be smaller than AUDIOCONTROL_MAXVOLUME;
                                                                  nil, if not available
                ParmModTable["AUDIOCONTROL_MAXVOLUME"]=0     - the Max volume-slider; -59.9dB to 12dB; must be bigger than AUDIOCONTROL_MINVOLUME;
                                                                  nil, if not available
                ParmModTable["AUDIOCONTROL_STRENGTH"]=1      - the Strength-slider; 0(0%) to 1000(100%)
                ParmModTable["AUDIOCONTROL_DIRECTION"]=1     - the direction-radiobuttons; -1, negative; 0, centered; 1, positive
                ParmModTable["X2"]=0.5                        - the audiocontrol signal shaping-x-coordinate
                ParmModTable["Y2"]=0.5                        - the audiocontrol signal shaping-y-coordinate

                ParmModTable["LFO"]=false                    - if the LFO-checkbox checked; true, checked; false, unchecked
                                                                 Note: if true, this needs all LFO_-entries to be set
                ParmModTable["LFO_SHAPE"]=0                  - the LFO Shape-dropdownlist;
                                                                 0, sine; 1, square; 2, saw L; 3, saw R; 4, triangle; 5, random
                                                                 nil, if not available
                ParmModTable["LFO_SHAPEOLD"]=0              - use the old-style of the LFO_SHAPE;
                                                                0, use current style of LFO_SHAPE;
                                                                1, use old style of LFO_SHAPE;
                                                                nil, if not available
                ParmModTable["LFO_TEMPOSYNC"]=false         - the Tempo sync-checkbox; true, checked; false, unchecked
                ParmModTable["LFO_SPEED"]=0.124573          - the LFO Speed-slider; 0(0.0039Hz) to 1(8.0000Hz); nil, if not available
                ParmModTable["LFO_STRENGTH"]=1              - the LFO Strength-slider; 0.000(0.0%) to 1.000(100.0%)
                ParmModTable["LFO_PHASE"]=0                 - the LFO Phase-slider; 0.000 to 1.000; nil, if not available
                ParmModTable["LFO_DIRECTION"]=1             - the LFO Direction-radiobuttons; -1, Negative; 0, Centered; 1, Positive
                ParmModTable["LFO_PHASERESET"]=0            - the LFO Phase reset-dropdownlist;
                                                                0, On seek/loop(deterministic output)
                                                                1, Free-running(non-deterministic output)
                                                                nil, if not available

                ParmModTable["PARMLINK"]=false              - the Link from MIDI or FX parameter-checkbox
                                                                true, checked; false, unchecked
                ParmModTable["PARMLINK_LINKEDPLUGIN"]=-1    - the selected plugin; nil, if not available
                                                            - will be ignored, when PARMLINK_LINKEDPLUGIN_RELATIVE is set
                                                                -1, nothing selected yet
                                                                -100, MIDI-parameter-settings
                                                                1 - the first fx-plugin
                                                                2 - the second fx-plugin
                                                                3 - the third fx-plugin, etc
                ParmModTable["PARMLINK_LINKEDPLUGIN_RELATIVE"]=nil - the linked plugin relative to the current one in the FXChain
                                                                   - 0, use parameter of the current fx-plugin
                                                                   - negative, use parameter of a plugin above of the current plugin(-1, the one above; -2, two above, etc)
                                                                   - positive, use parameter of a plugin below the current plugin(1, the one below; 2, two below, etc)
                                                                   - nil, uses only the plugin linked absolute(the one linked with PARMLINK_LINKEDPARMIDX)                                                                      
                
                ParmModTable["PARMLINK_LINKEDPARMIDX"]=-1   - the id of the linked parameter; -1, if none is linked yet; nil, if not available
                                                                When MIDI, this is irrelevant.
                                                                When FX-parameter:
                                                                  0 to n; 0 for the first; 1, for the second, etc                      
                ParmModTable["PARMLINK_OFFSET"]=0           - the Offset-slider; -1.00(-100%) to 1.00(+100%); nil, if not available
                ParmModTable["PARMLINK_SCALE"]=1            - the Scale-slider; -1.00(-100%) to 1.00(+100%); nil, if not available


                ParmModTable["MIDIPLINK"]=false             - true, if any parameter-linking with MIDI-stuff; false, if not
                                                               Note: if true, this needs all MIDIPLINK_-entries and PARMLINK_LINKEDPLUGIN=-100 to be set
                ParmModTable["MIDIPLINK_BUS"]=nil           - the MIDI-bus selected in the button-menu;
                                                                0 to 15 for bus 1 to 16;
                                                                nil, if not available
                ParmModTable["MIDIPLINK_CHANNEL"]=nil       - the MIDI-channel selected in the button-menu;
                                                                0, omni; 1 to 16 for channel 1 to 16;
                                                                nil, if not available
                                                              
                ParmModTable["MIDIPLINK_MIDICATEGORY"]=nil  - the MIDI_Category selected in the button-menu; nil, if not available
                                                                144, MIDI note
                                                                160, Aftertouch
                                                                176, CC 14Bit and CC
                                                                192, Program Change
                                                                208, Channel Pressure
                                                                224, Pitch
                ParmModTable["MIDIPLINK_MIDINOTE"]=nil      - the MIDI-note selected in the button-menu; nil, if not available
                                                                When MIDI note:
                                                                   0(C-2) to 127(G8)
                                                                When Aftertouch:
                                                                   0(C-2) to 127(G8)
                                                                When CC14 Bit:
                                                                   128 to 159; see dropdownlist for the commands(the order of the list
                                                                   is the same as this numbering)
                                                                When CC:
                                                                   0 to 119; see dropdownlist for the commands(the order of the list
                                                                   is the same as this numbering)
                                                                When Program Change:
                                                                   0
                                                                When Channel Pressure:
                                                                   0
                                                                When Pitch:
                                                                   0
                ParmModTable["WINDOW_ALTERED"]=false         - false, if the windowposition hasn't been altered yet; true, if the window has been altered
                                                                  Note: if true, this needs all WINDOW_-entries to be set
                ParmModTable["WINDOW_ALTEREDOPEN"]=true      - if the position of the ParmMod-window is altered and currently open;
                                                                 nil, unchanged; 0, unopened; 1, open
                ParmModTable["WINDOW_XPOS"]=0                - the x-position of the altered ParmMod-window in pixels; nil, default position
                ParmModTable["WINDOW_YPOS"]=40               - the y-position of the altered ParmMod-window in pixels; nil, default position
                ParmModTable["WINDOW_RIGHT"]=594             - the right-position of the altered ParmMod-window in pixels;
                                                                 nil, default position; only readable
                ParmModTable["WINDOW_BOTTOM"]=729            - the bottom-position of the altered ParmMod-window in pixels;
                                                                 nil, default position; only readable
    


Returnvalues:
 table ParmModTable a ParmModTable with all settings set to Reaper's defaults  



^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ IsValidParmModTable

Functioncall:

boolean retval = ultraschall.IsValidParmModTable(table ParmModTable)

Description:
checks, if a ParmModTable is a valid one

Does not check, if the value-ranges are valid, only if the datatypes are correct and if certain combinations are valid!

Use SLEM() to get error-messages who tell you, which entries are problematic.

returns false in case of an error

Returnvalues:
 boolean retval true, ParmModTable is a valid one; false, ParmModTable has errors(use SLEM() to get which one) 

Parameters:
 table ParmModTable the table to check, if it's a valid ParmModTable 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ AddParmMod_ParmModTable

Functioncall:

string FXStateChunk = ultraschall.AddParmMod_ParmModTable(string FXStateChunk, integer fxindex, table ParmModTable)

Description:
Takes a ParmModTable and adds with its values a new Parameter Modulation of a specific fx within an FXStateChunk.

The expected table's format is as follows:

            ParmModTable["PARAM_NR"]               - the parameter that you want to modulate; 1 for the first, 2 for the second, etc
            ParmModTable["PARAM_TYPE"]             - the type of the parameter, usually "", "wet" or "bypass"

            ParmModTable["PARAMOD_ENABLE_PARAMETER_MODULATION"]
                                                    - Enable parameter modulation, baseline value(envelope overrides)-checkbox;
                                                      true, checked; false, unchecked
            ParmModTable["PARAMOD_BASELINE"]       - Enable parameter modulation, baseline value(envelope overrides)-slider;
                                                        0.000 to 1.000

            ParmModTable["AUDIOCONTROL"]           - is the Audio control signal(sidechain)-checkbox checked; true, checked; false, unchecked
                                                        Note: if true, this needs all AUDIOCONTROL_-entries to be set                
            ParmModTable["AUDIOCONTROL_CHAN"]      - the Track audio channel-dropdownlist; When stereo, the first stereo-channel;
                                                      nil, if not available
            ParmModTable["AUDIOCONTROL_STEREO"]    - 0, just use mono-channels; 1, use the channel AUDIOCONTROL_CHAN plus
                                                        AUDIOCONTROL_CHAN+1; nil, if not available
            ParmModTable["AUDIOCONTROL_ATTACK"]    - the Attack-slider of Audio Control Signal; 0-1000 ms; nil, if not available
            ParmModTable["AUDIOCONTROL_RELEASE"]   - the Release-slider; 0-1000ms; nil, if not available
            ParmModTable["AUDIOCONTROL_MINVOLUME"] - the Min volume-slider; -60dB to 11.9dB; must be smaller than AUDIOCONTROL_MAXVOLUME;
                                                      nil, if not available
            ParmModTable["AUDIOCONTROL_MAXVOLUME"] - the Max volume-slider; -59.9dB to 12dB; must be bigger than AUDIOCONTROL_MINVOLUME;
                                                      nil, if not available
            ParmModTable["AUDIOCONTROL_STRENGTH"]  - the Strength-slider; 0(0%) to 1000(100%)
            ParmModTable["AUDIOCONTROL_DIRECTION"] - the direction-radiobuttons; -1, negative; 0, centered; 1, positive
            ParmModTable["X2"]=0.5                 - the audiocontrol signal shaping-x-coordinate
            ParmModTable["Y2"]=0.5                 - the audiocontrol signal shaping-y-coordinate    
            
            ParmModTable["LFO"]                    - if the LFO-checkbox checked; true, checked; false, unchecked
                                                        Note: if true, this needs all LFO_-entries to be set
            ParmModTable["LFO_SHAPE"]              - the LFO Shape-dropdownlist;
                                                        0, sine; 1, square; 2, saw L; 3, saw R; 4, triangle; 5, random
                                                        nil, if not available
            ParmModTable["LFO_SHAPEOLD"]           - use the old-style of the LFO_SHAPE;
                                                        0, use current style of LFO_SHAPE;
                                                        1, use old style of LFO_SHAPE;
                                                        nil, if not available
            ParmModTable["LFO_TEMPOSYNC"]          - the Tempo sync-checkbox; true, checked; false, unchecked
            ParmModTable["LFO_SPEED"]              - the LFO Speed-slider; 0(0.0039Hz) to 1(8.0000Hz); nil, if not available
            ParmModTable["LFO_STRENGTH"]           - the LFO Strength-slider; 0.000(0.0%) to 1.000(100.0%)
            ParmModTable["LFO_PHASE"]              - the LFO Phase-slider; 0.000 to 1.000; nil, if not available
            ParmModTable["LFO_DIRECTION"]          - the LFO Direction-radiobuttons; -1, Negative; 0, Centered; 1, Positive
            ParmModTable["LFO_PHASERESET"]         - the LFO Phase reset-dropdownlist;
                                                        0, On seek/loop(deterministic output)
                                                        1, Free-running(non-deterministic output)
                                                        nil, if not available
            
            ParmModTable["MIDIPLINK"]              - true, if any parameter-linking with MIDI-stuff; false, if not
                                                        Note: if true, this needs all MIDIPLINK_-entries and PARMLINK_LINKEDPLUGIN=-100 to be set
            ParmModTable["PARMLINK"]               - the Link from MIDI or FX parameter-checkbox
                                                      true, checked; false, unchecked
            ParmModTable["PARMLINK_LINKEDPLUGIN"]  - the selected plugin; nil, if not available
                                                   - will be ignored, when PARMLINK_LINKEDPLUGIN_RELATIVE is set
                                                        -1, nothing selected yet
                                                        -100, MIDI-parameter-settings
                                                        1 - the first fx-plugin
                                                        2 - the second fx-plugin
                                                        3 - the third fx-plugin, etc                                                            
            ParmModTable["PARMLINK_LINKEDPLUGIN_RELATIVE"] - the linked plugin relative to the current one in the FXChain
                                                           - 0, use parameter of the current fx-plugin
                                                           - negative, use parameter of a plugin above of the current plugin(-1, the one above; -2, two above, etc)
                                                           - positive, use parameter of a plugin below the current plugin(1, the one below; 2, two below, etc)
                                                           - nil, use only the plugin linked absolute(the one linked with PARMLINK_LINKEDPARMIDX)
            ParmModTable["PARMLINK_LINKEDPARMIDX"] - the id of the linked parameter; -1, if none is linked yet; nil, if not available
                                                        When MIDI, this is irrelevant.
                                                        When FX-parameter:
                                                          0 to n; 0 for the first; 1, for the second, etc

            ParmModTable["PARMLINK_OFFSET"]        - the Offset-slider; -1.00(-100%) to 1.00(+100%); nil, if not available
            ParmModTable["PARMLINK_SCALE"]         - the Scale-slider; -1.00(-100%) to 1.00(+100%); nil, if not available

            ParmModTable["MIDIPLINK"]              - true, if any parameter-linking with MIDI-stuff; false, if not
                                                        Note: if true, this needs all MIDIPLINK_-entries and PARMLINK_LINKEDPLUGIN=-100 to be set
            ParmModTable["MIDIPLINK_BUS"]          - the MIDI-bus selected in the button-menu;
                                                        0 to 15 for bus 1 to 16;
                                                        nil, if not available
            ParmModTable["MIDIPLINK_CHANNEL"]      - the MIDI-channel selected in the button-menu;
                                                        0, omni; 1 to 16 for channel 1 to 16;
                                                        nil, if not available
            ParmModTable["MIDIPLINK_MIDICATEGORY"] - the MIDI_Category selected in the button-menu; nil, if not available
                                                        144, MIDI note
                                                        160, Aftertouch
                                                        176, CC 14Bit and CC
                                                        192, Program Change
                                                        208, Channel Pressure
                                                        224, Pitch
            ParmModTable["MIDIPLINK_MIDINOTE"]     - the MIDI-note selected in the button-menu; nil, if not available
                                                      When MIDI note:
                                                           0(C-2) to 127(G8)
                                                      When Aftertouch:
                                                           0(C-2) to 127(G8)
                                                      When CC14 Bit:
                                                           128 to 159; see dropdownlist for the commands(the order of the list
                                                           is the same as this numbering)
                                                      When CC:
                                                           0 to 119; see dropdownlist for the commands(the order of the list
                                                           is the same as this numbering)
                                                      When Program Change:
                                                           0
                                                      When Channel Pressure:
                                                           0
                                                      When Pitch:
                                                           0
            ParmModTable["WINDOW_ALTERED"]         - false, if the windowposition hasn't been altered yet; true, if the window has been altered
                                                        Note: if true, this needs all WINDOW_-entries to be set
            ParmModTable["WINDOW_ALTEREDOPEN"]     - if the position of the ParmMod-window is altered and currently open;
                                                        nil, unchanged; 0, unopened; 1, open
            ParmModTable["WINDOW_XPOS"]            - the x-position of the altered ParmMod-window in pixels; nil, default position
            ParmModTable["WINDOW_YPOS"]            - the y-position of the altered ParmMod-window in pixels; nil, default position
            ParmModTable["WINDOW_RIGHT"]           - the right-position of the altered ParmMod-window in pixels;
                                                        nil, default position; only readable
            ParmModTable["WINDOW_BOTTOM"]          - the bottom-position of the altered ParmMod-window in pixels;
                                                        nil, default position; only readable


This function does not check, if the values are within valid value-ranges, only if the datatypes are valid.

returns nil in case of an error

Returnvalues:
 string FXStateChunk the altered FXStateChunk, where the ParameterModulation shall be added 

Parameters:
 string FXStateChunk an FXStateChunk, of which you want to add the values of a specific parameter-modulation 
 integer fxindex the index of the fx, of which you want to add specific parameter-modulation-values 
 table ParmModTable the table which holds all parameter-modulation-values to be added 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ SetParmMod_ParmModTable

Functioncall:

string FXStateChunk = ultraschall.SetParmMod_ParmModTable(string FXStateChunk, integer fxindex, table ParmModTable)

Description:
Takes a ParmModTable and sets its values into a Parameter Modulation of a specific fx within an FXStateChunk.

The expected table's format is as follows:

            ParmModTable["PARAM_NR"]               - the parameter that you want to modulate; 1 for the first, 2 for the second, etc
            ParmModTable["PARAM_TYPE"]             - the type of the parameter, usually "", "wet" or "bypass"

            ParmModTable["PARAMOD_ENABLE_PARAMETER_MODULATION"]
                                                    - Enable parameter modulation, baseline value(envelope overrides)-checkbox;
                                                      true, checked; false, unchecked
            ParmModTable["PARAMOD_BASELINE"]       - Enable parameter modulation, baseline value(envelope overrides)-slider;
                                                        0.000 to 1.000

            ParmModTable["AUDIOCONTROL"]           - is the Audio control signal(sidechain)-checkbox checked; true, checked; false, unchecked
                                                        Note: if true, this needs all AUDIOCONTROL_-entries to be set
            ParmModTable["AUDIOCONTROL_CHAN"]      - the Track audio channel-dropdownlist; When stereo, the first stereo-channel;
                                                      nil, if not available
            ParmModTable["AUDIOCONTROL_STEREO"]    - 0, just use mono-channels; 1, use the channel AUDIOCONTROL_CHAN plus
                                                        AUDIOCONTROL_CHAN+1; nil, if not available
            ParmModTable["AUDIOCONTROL_ATTACK"]    - the Attack-slider of Audio Control Signal; 0-1000 ms; nil, if not available
            ParmModTable["AUDIOCONTROL_RELEASE"]   - the Release-slider; 0-1000ms; nil, if not available
            ParmModTable["AUDIOCONTROL_MINVOLUME"] - the Min volume-slider; -60dB to 11.9dB; must be smaller than AUDIOCONTROL_MAXVOLUME;
                                                      nil, if not available
            ParmModTable["AUDIOCONTROL_MAXVOLUME"] - the Max volume-slider; -59.9dB to 12dB; must be bigger than AUDIOCONTROL_MINVOLUME;
                                                      nil, if not available
            ParmModTable["AUDIOCONTROL_STRENGTH"]  - the Strength-slider; 0(0%) to 1000(100%)
            ParmModTable["AUDIOCONTROL_DIRECTION"] - the direction-radiobuttons; -1, negative; 0, centered; 1, positive
            ParmModTable["X2"]=0.5                 - the audiocontrol signal shaping-x-coordinate
            ParmModTable["Y2"]=0.5                 - the audiocontrol signal shaping-y-coordinate    
            
            ParmModTable["LFO"]                    - if the LFO-checkbox checked; true, checked; false, unchecked
                                                        Note: if true, this needs all LFO_-entries to be set
            ParmModTable["LFO_SHAPE"]              - the LFO Shape-dropdownlist;
                                                        0, sine; 1, square; 2, saw L; 3, saw R; 4, triangle; 5, random
                                                        nil, if not available
            ParmModTable["LFO_SHAPEOLD"]           - use the old-style of the LFO_SHAPE;
                                                        0, use current style of LFO_SHAPE;
                                                        1, use old style of LFO_SHAPE;
                                                        nil, if not available
            ParmModTable["LFO_TEMPOSYNC"]          - the Tempo sync-checkbox; true, checked; false, unchecked
            ParmModTable["LFO_SPEED"]              - the LFO Speed-slider; 0(0.0039Hz) to 1(8.0000Hz); nil, if not available
            ParmModTable["LFO_STRENGTH"]           - the LFO Strength-slider; 0.000(0.0%) to 1.000(100.0%)
            ParmModTable["LFO_PHASE"]              - the LFO Phase-slider; 0.000 to 1.000; nil, if not available
            ParmModTable["LFO_DIRECTION"]          - the LFO Direction-radiobuttons; -1, Negative; 0, Centered; 1, Positive
            ParmModTable["LFO_PHASERESET"]         - the LFO Phase reset-dropdownlist;
                                                        0, On seek/loop(deterministic output)
                                                        1, Free-running(non-deterministic output)
                                                        nil, if not available

            ParmModTable["PARMLINK"]               - the Link from MIDI or FX parameter-checkbox
                                                      true, checked; false, unchecked
            ParmModTable["PARMLINK_LINKEDPLUGIN"]  - the selected plugin; nil, if not available
                                                     Will be ignored, when PARMLINK_LINKEDPLUGIN_RELATIVE is set.
                                                        -1, nothing selected yet
                                                        -100, MIDI-parameter-settings
                                                        1 - the first fx-plugin
                                                        2 - the second fx-plugin
                                                        3 - the third fx-plugin, etc
            ParmModTable["PARMLINK_LINKEDPLUGIN_RELATIVE"] - the linked plugin relative to the current one in the FXChain
                                                           - 0, use parameter of the current fx-plugin
                                                           - negative, use parameter of a plugin above of the current plugin(-1, the one above; -2, two above, etc)
                                                           - positive, use parameter of a plugin below the current plugin(1, the one below; 2, two below, etc)
                                                           - nil, uses only the plugin linked absolute(the one linked with PARMLINK_LINKEDPARMIDX)
            ParmModTable["PARMLINK_LINKEDPARMIDX"] - the id of the linked parameter; -1, if none is linked yet; nil, if not available
                                                        When MIDI, this is irrelevant.
                                                        When FX-parameter:
                                                          0 to n; 0 for the first; 1, for the second, etc

            ParmModTable["PARMLINK_OFFSET"]        - the Offset-slider; -1.00(-100%) to 1.00(+100%); nil, if not available
            ParmModTable["PARMLINK_SCALE"]         - the Scale-slider; -1.00(-100%) to 1.00(+100%); nil, if not available

            ParmModTable["MIDIPLINK"]              - true, if any parameter-linking with MIDI-stuff; false, if not
                                                        Note: if true, this needs all MIDIPLINK_-entries and PARMLINK_LINKEDPLUGIN=-100 to be set
            ParmModTable["MIDIPLINK_BUS"]          - the MIDI-bus selected in the button-menu;
                                                        0 to 15 for bus 1 to 16;
                                                        nil, if not available
            ParmModTable["MIDIPLINK_CHANNEL"]      - the MIDI-channel selected in the button-menu;
                                                        0, omni; 1 to 16 for channel 1 to 16;
                                                        nil, if not available
            ParmModTable["MIDIPLINK_MIDICATEGORY"] - the MIDI_Category selected in the button-menu; nil, if not available
                                                        144, MIDI note
                                                        160, Aftertouch
                                                        176, CC 14Bit and CC
                                                        192, Program Change
                                                        208, Channel Pressure
                                                        224, Pitch
            ParmModTable["MIDIPLINK_MIDINOTE"]     - the MIDI-note selected in the button-menu; nil, if not available
                                                      When MIDI note:
                                                           0(C-2) to 127(G8)
                                                      When Aftertouch:
                                                           0(C-2) to 127(G8)
                                                      When CC14 Bit:
                                                           128 to 159; see dropdownlist for the commands(the order of the list
                                                           is the same as this numbering)
                                                      When CC:
                                                           0 to 119; see dropdownlist for the commands(the order of the list
                                                           is the same as this numbering)
                                                      When Program Change:
                                                           0
                                                      When Channel Pressure:
                                                           0
                                                      When Pitch:
                                                           0
            ParmModTable["WINDOW_ALTERED"]         - false, if the windowposition hasn't been altered yet; true, if the window has been altered
                                                        Note: if true, this needs all WINDOW_-entries to be set
            ParmModTable["WINDOW_ALTEREDOPEN"]     - if the position of the ParmMod-window is altered and currently open;
                                                        nil, unchanged; 0, unopened; 1, open
            ParmModTable["WINDOW_XPOS"]            - the x-position of the altered ParmMod-window in pixels; nil, default position
            ParmModTable["WINDOW_YPOS"]            - the y-position of the altered ParmMod-window in pixels; nil, default position
            ParmModTable["WINDOW_RIGHT"]           - the right-position of the altered ParmMod-window in pixels;
                                                        nil, default position; only readable
            ParmModTable["WINDOW_BOTTOM"]          - the bottom-position of the altered ParmMod-window in pixels;
                                                        nil, default position; only readable


This function does not check, if the values are within valid value-ranges, only if the datatypes are valid.

Note: If you want to apply a ParmModulationTable from a bypass/wet-parameter to a non bypass/wet-parameter, you need to set ParmModTable["PARAM_TYPE"]="" or it will remove the parameter-modulation!
Also note: set ParmModTable["PARAM_NR"] to choose the parameter-index, whose ParameterModulation shall be set.

returns nil in case of an error

Returnvalues:
 string FXStateChunk the altered FXStateChunk, where the ParameterModulation had been set 

Parameters:
 string FXStateChunk an FXStateChunk, of which you want to set the values of a specific parameter-modulation 
 integer fxindex the index if the fx, of which you want to set specific parameter-modulation-values 
 table ParmModTable the table which holds all parameter-modulation-values to be set 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ DeleteParmModFromFXStateChunk

Functioncall:

string altered_FXStateChunk, boolean altered = ultraschall.DeleteParmModFromFXStateChunk(string FXStateChunk, integer fxindex, integer parmidx)

Description:
deletes a parameter-modulation of a specific fx from an FXStateChunk

retval altered returns false in case of an error

Returnvalues:
 string altered_FXStateChunk the FXStateChunk, from which the  
 boolean altered true, deleting was successful; false, deleting was unsuccessful 

Parameters:
 string FXStateChunk the FXStateChunk from which you want to delete a parameter-modulation of a specific fx 
 integer fxindex the index of the fx, whose parameter-modulations you want to delete 
 integer parmmodidx the parameter-index, whose parameter-modulation you want to delete 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ CountParmModFromFXStateChunk

Functioncall:

integer number_of_parmmodulations = ultraschall.CountParmModFromFXStateChunk(string FXStateChunk, integer fxindex)

Description:
returns the number of parameter-modulations available for a specific fx in an FXStateChunk

returns -1 in case of an error

Returnvalues:
 integer number_of_parmmodulations the number of parameter-modulations available for this fx within this FXStateChunk 

Parameters:
 string FXStateChunk the FXStateChunk from which you want to count the parameter-modulations available for a specific fx 
 integer fxindex the index of the fx, whose number of parameter-modulations you want to know 


^ Reaper version 5.979Ultraschall version 4.1Lua version 5.3 ^ GetAllParmAliasNames_FXStateChunk

Functioncall:

integer count_aliasnames, array parameteridx, array parameter_aliasnames = ultraschall.GetAllParmAliasNames_FXStateChunk(string FXStateChunk, integer fxid)

Description:
Returns all aliasnames of a specific fx within an FXStateChunk

returns false in case of an error

Returnvalues:
 integer count_aliasnames the number of parameter-aliases found for this fx 
 array parameteridx an array, which holds all parameter-index-numbers of all fx with parameter-aliasnames 
 array parameter_aliasnames an array with all parameter-aliasnames found 

Parameters:
 string FXStateChunk the FXStateChunk, from which you want to get all Parm-Aliases 
 integer fxid the id of the fx, whose Parm-Aliases you want to get 


^ Reaper version 5.979Ultraschall version 4.1Lua version 5.3 ^ DeleteParmAlias2_FXStateChunk

Functioncall:

boolean retval, string alteredFXStateChunk = ultraschall.DeleteParmAlias2_FXStateChunk(string FXStateChunk, integer fxid, integer parmidx)

Description:
Deletes a ParmAlias-entry from an FXStateChunk.

It's the PARMALIAS-entry

Unlike DeleteParmAlias_FXStateChunk, this indexes aliasnames by parameter-index directly, not by number of already existing aliasnames.
When in doubt, use this one.

returns false in case of an error

Returnvalues:
 boolean retval true, if deletion was successful; false, if the function couldn't delete anything 
 string alteredFXStateChunk the altered FXStateChunk 

Parameters:
 string FXStateChunk the FXStateChunk, which you want to delete a ParmAlias from 
 integer fxid the id of the fx, which holds the to-delete-ParmAlias-entry; beginning with 1 
 integer parmidx the id of the parameter, whose parmalias you want to delete; beginning with 1 


^ Reaper version 5.975Ultraschall version 4.1Lua version 5.3 ^ GetParmAlias2_FXStateChunk

Functioncall:

integer parm_idx, string parm_aliasname = ultraschall.GetParmAlias2_FXStateChunk(string FXStateChunk, integer fxid, integer id)

Description:
Returns a parameter-alias-setting of a specific parameter from an FXStateChunk
An FXStateChunk holds all FX-plugin-settings for a specific MediaTrack or MediaItem.

Parameter-aliases are only stored for MediaTracks.

It is the PARMALIAS-entry

Returns nil in case of an error or if no such aliasname has been found

Returnvalues:
 integer parm_idx the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn 
 string parm_aliasname the alias-name of the parameter 

Parameters:
 string FXStateChunk the FXStateChunk, from which you want to retrieve the ParmAlias-settings 
 integer fxid the fx, of which you want to get the parameter-alias-settings 
 integer parmidx the id of the parameter whose aliasname you want to have, starting with 1 for the first 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_AddByName

Functioncall:

integer retval = ultraschall.InputFX_AddByName(string fxname, boolean always_new_instance)

Description:
Adds an FX as monitoring FX.

returns -1 in case of an error

Returnvalues:
 integer retval the index of the newly inserted fx or the index of the already existing fx; -1, in case of an error 

Parameters:
 string fxname the name of the fx to be inserted 
 boolean always_new_instance true, always add a new instance of the fx; false, only add if there's none yet 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_QueryFirstFXIndex

Functioncall:

integer fxindex = ultraschall.InputFX_QueryFirstFXIndex(string fxname)

Description:
Queries the fx-index of the first inputfx with fxname

returns -1 in case of an error

Returnvalues:
 integer fxindex the index of the queried fx; 1-based; -1, in case of an error 

Parameters:
 string fxname the name of the fx to be queried 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_MoveFX

Functioncall:

boolean retval = ultraschall.InputFX_MoveFX(integer old_fxindex, integer new_fxindex)

Description:
Moves a monitoring-fx from an old to a new position

returns false in case of an error

Returnvalues:
 boolean retval true, moving was successful; false, moving was unsuccessful 

Parameters:
 integer old_fxindex the index of the input-fx to be moved; 1-based 
 integer new_fxindex the new position of the input-fx; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_CopyFX

Functioncall:

boolean retval = ultraschall.InputFX_CopyFX(integer old_fxindex, integer new_fxindex)

Description:
Copies a monitoring-fx and inserts it at a new position

returns -1 in case of an error

Returnvalues:
 integer retval the index of the inserted fx(in case of being different from new_fxindex); -1, in case of an error; 1-based 

Parameters:
 integer old_fxindex the index of the input-fx to be copied; 1-based 
 integer new_fxindex the position of the newly inserted input-fx; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_CopyFXFromTrackFX

Functioncall:

integer retval = ultraschall.InputFX_CopyFXFromTrackFX(MediaTrack track, integer old_fxindex, integer new_fxindex)

Description:
Copies a trackfx and inserts it as monitoring-fx at a certain position

returns -1 in case of an error

Returnvalues:
 integer retval the index of the inserted fx(in case of being different from new_fxindex); -1, in case of an error; 1-based 

Parameters:
 MediaTrack track the track from which you want to copy a trackfx 
 integer old_fxindex the index of the track-fx to be copied; 1-based 
 integer new_fxindex the position of the newly inserted input-fx; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_CopyFXToTrackFX

Functioncall:

integer retval = ultraschall.InputFX_CopyFXToTrackFX(integer old_fxindex, MediaTrack track, integer new_fxindex)

Description:
Copies a monitoring-fx and inserts it as trackfx at a certain position

returns -1 in case of an error

Returnvalues:
 integer retval the index of the inserted fx(in case of being different from new_fxindex); -1, in case of an error 

Parameters:
 integer old_fxindex the index of the monitoring-fx to be copied; 1-based 
 MediaTrack track the track into which you want to insert the trackFX 
 integer new_fxindex the position of the newly inserted track-fx; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_MoveFXFromTrackFX

Functioncall:

integer retval = ultraschall.InputFX_MoveFXFromTrackFX(MediaTrack track, integer old_fxindex, integer new_fxindex)

Description:
Moves a trackfx to monitoring-fx at a certain position

returns -1 in case of an error

Returnvalues:
 integer retval the index of the inserted fx(in case of being different from new_fxindex); -1, in case of an error 

Parameters:
 MediaTrack track the track from which you want to copy a trackfx to monitoring-fx 
 integer old_fxindex the index of the monitoring-fx to be moved; 1-based 
 integer new_fxindex the position of the newly inserted input-fx; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_MoveFXToTrackFX

Functioncall:

integer retval = ultraschall.InputFX_MoveFXToTrackFX(integer old_fxindex, MediaTrack track, integer new_fxindex)

Description:
moves a monitoring-fx and inserts it as trackfx at a certain position

returns -1 in case of an error

Returnvalues:
 integer retval the index of the inserted fx(in case of being different from new_fxindex); -1, in case of an error 

Parameters:
 integer old_fxindex the index of the monitoring-fx to be moved; 1-based 
 MediaTrack track the track into which you want to insert the trackFX 
 integer new_fxindex the position of the newly inserted track-fx; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_Delete

Functioncall:

boolean retval = ultraschall.InputFX_Delete(integer fxindex)

Description:
removes a certain monitoring-fx

returns false in case of an error

Returnvalues:
 boolean retval true, removing was successful; false, removing was unsuccessful 

Parameters:
 integer fxindex the index of the monitoring-fx to be deleted; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_EndParamEdit

Functioncall:

boolean retval = ultraschall.InputFX_EndParamEdit(integer fxindex, integer paramindex)

Description:
moves a monitoring-fx and inserts it as trackfx at a certain position

returns false in case of an error

Returnvalues:
 boolean retval true, unknown; false, unknown 

Parameters:
 integer fxindex the index of the monitoring-fx 
 integer paramindex the index of the parameter of the monitoring-fx 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetCount

Functioncall:

integer monitoring_fx_count = ultraschall.InputFX_GetCount()

Description:
counts the available monitoring-fx

Returnvalues:
 integer monitoring_fx_count the number of available monitoring-fx 



^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetChainVisible

Functioncall:

boolean inputfx_chain_visible, integer visible_inputfx = ultraschall.InputFX_GetChainVisible()

Description:
returns if the monitoring-fx-chain is visible and index of the currently visible monitoring-fx

Returnvalues:
 boolean inputfx_chain_visible true, fxchain is visible; false, fxchain is not visible 
 integer visible_inputfx the index of the currently visible monitoring-fx; -1, if nothing is visible; 1-based 



^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetEnabled

Functioncall:

boolean inputfx_enabled = ultraschall.InputFX_GetEnabled(integer fxindex)

Description:
returns if a certain monitoring-fx is enabled

returns nil in case of an error

Returnvalues:
 boolean inputfx_enabled true, fx is enabled; false, fxchain is not enabled 

Parameters:
 integer fxindex the index of the monitoring-fx, whose enabled state you want to query; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetFloatingWindow

Functioncall:

HWND inputfx_floating_hwnd = ultraschall.InputFX_GetFloatingWindow(integer fxindex)

Description:
returns the hwnd of a floating monitoring-fx-window

returns nil in case of an error

Returnvalues:
 HWND inputfx_floating_hwnd the hwnd of the floating montitoring fx; nil, if not available 

Parameters:
 integer fxindex the index of the monitoring-fx, whose floating-monitoring-fx-hwnd you want to get; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetFXGUID

Functioncall:

string fxguid = ultraschall.InputFX_GetFXGUID(integer fxindex)

Description:
returns the guid of a monitoring-fx

returns nil in case of an error

Returnvalues:
 string fxguid the guid of the monitoring-fx 

Parameters:
 integer fxindex the index of the monitoring-fx, whose guid you want to query; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetFXName

Functioncall:

boolean retval, string fxname = ultraschall.InputFX_GetFXName(integer fxindex)

Description:
returns the name of a monitoring-fx

returns false in case of an error

Returnvalues:
 boolean retval true, monitoring fx exists; false, no such monitoring-fx exists 
 string fxname the name of the monitoring-fx 

Parameters:
 integer fxindex the index of the monitoring-fx, whose name you want to query; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetNumParams

Functioncall:

integer count_params = ultraschall.InputFX_GetNumParams(integer fxindex)

Description:
returns the number of parameters of a monitoring-fx

returns -1 in case of an error

Returnvalues:
 integer count_params the number of parameters of the monitoring-fx 

Parameters:
 integer fxindex the index of the monitoring-fx, whose number of parameters you want to query; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetOffline

Functioncall:

boolean is_offline = ultraschall.InputFX_GetOffline(integer fxindex)

Description:
returns the offline-state of a monitoring-fx

returns false in case of an error

Returnvalues:
 boolean is_offline true, fx is offline; false, fx is not offline 

Parameters:
 integer fxindex the index of the monitoring-fx, whose offline-state you want to query; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetOpen

Functioncall:

boolean is_open = ultraschall.InputFX_GetOpen(integer fxindex)

Description:
returns if a monitoring-fx is open(currently visible)

returns false in case of an error

Returnvalues:
 boolean is_open true, fx is visible; false, fx is not visible 

Parameters:
 integer fxindex the index of the monitoring-fx, whose visibility-state you want to query; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetPreset

Functioncall:

boolean retval, string preset = ultraschall.InputFX_GetPreset(integer fxindex)

Description:
returns the currently selected preset of a monitoring-fx

returns false in case of an error

Returnvalues:
 boolean retval true, fx exists; false, fx does not exist 
 string preset the name of the currently selected preset; "", if no preset is selected 

Parameters:
 integer fxindex the index of the monitoring-fx, whose currently selected presetname-state you want to query; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetPresetIndex

Functioncall:

integer selected_preset, integer number_of_presets = ultraschall.InputFX_GetPresetIndex(integer fxindex)

Description:
returns the index of the currently selected preset of a monitoring-fx as well as the number of available presets

returns -1 in case of an error

Returnvalues:
 integer selected_preset the index of the currently selected preset; 0, if no preset is selected 
 integer number_of_presets the number of presets available 

Parameters:
 integer fxindex the index of the monitoring-fx, whose currently selected preset-index you want to query; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetUserPresetFilename

Functioncall:

string preset_filename = ultraschall.InputFX_GetUserPresetFilename(integer fxindex)

Description:
returns the filename of the presetfile, into which the preset's-settings are stored

returns nil in case of an error

Returnvalues:
 string preset_filename the filename of the preset-file; nil, of not existing 

Parameters:
 integer fxindex the index of the monitoring-fx, whose preset's-filename you want to query; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_NavigatePresets

Functioncall:

boolean retval = ultraschall.InputFX_NavigatePresets(integer fxindex, integer presetmove)

Description:
switches the preset of a monitoring-fx through, relative from its current preset-index.
You can move by multiple presets, so 1 moves one further, 2 moves 2 further, -3 moves 3 backwards.

If you hit the first/last preset, it will go back to the last/first preset respectively.

returns false in case of an error

Returnvalues:
 boolean retval true, altering was successful; false, altering was unsuccessful 

Parameters:
 integer fxindex the index of the monitoring-fx, whose preset you want to switch through; 1-based 
 integer presetmove positive, move forward by value of presetmove; negative, move backwards by value of presetmove 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_SetEnabled

Functioncall:

boolean retval = ultraschall.InputFX_SetEnabled(integer fxindex, boolean presetmove)

Description:
Sets a monitoring-fx to enabled.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer fxindex the index of the monitoring-fx which you want to disable/enable; 1-based 
 boolean enabled true, enable the monitoring-fx; false, disable the monitoring-fx 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_SetOffline

Functioncall:

boolean retval = ultraschall.InputFX_SetOffline(integer fxindex, boolean offline)

Description:
Sets a monitoring-fx to online/offline.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer fxindex the index of the monitoring-fx which you want to set offline/online; 1-based 
 boolean offline true, set the monitoring-fx offline; false, set the monitoring-fx online 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_SetOpen

Functioncall:

boolean retval = ultraschall.InputFX_SetOpen(integer fxindex, boolean open)

Description:
Sets a monitoring-fx visible of invisible

If you change the index while open=true, the visible fx will change to the new one.

Setting open=false closes the monitoring-fx-chain, open=true will open the monitoring-fx-chain if not visible yet.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer fxindex the index of the monitoring-fx which you want to visible/invisible; 1-based 
 boolean open true, set the monitoring-fx visible; false, set the monitoring-fx invisible 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_SetPreset

Functioncall:

boolean retval = ultraschall.InputFX_SetPreset(integer fxindex, string presetname)

Description:
Sets the preset of a monitoring-fx by presetname.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer fxindex the index of the monitoring-fx of which you want to set the preset; 1-based 
 string presetname the name of the preset, that you want to select 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_SetPresetByIndex

Functioncall:

boolean retval = ultraschall.InputFX_SetPresetByIndex(integer fxindex, integer presetindex)

Description:
Sets the preset of a monitoring-fx by preset-index.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer fxindex the index of the monitoring-fx which you want to set the preset; 1-based 
 integer presetindex the index of the preset, that you want to select; 0, for default; -1, for no preset; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_Show

Functioncall:

boolean retval = ultraschall.InputFX_Show(integer fxindex, integer showflag)

Description:
Sets visibility and floating-state of a monitoring-fx

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer fxindex the index of the monitoring-fx which you want to set the preset; 1-based 
 integer showflag 0, for hidechain
1, for show chain(index valid)
2, for hide floating window(index valid)
3, for show floating window (index valid) 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_CopyFXToTakeFX

Functioncall:

integer dest_fx = ultraschall.InputFX_CopyFXToTakeFX(integer src_fx, MediaItem_Take take, integer dest_fx)

Description:
copies a monitoring-fx to a takeFX

returns -1 in case of an error

Returnvalues:
 integer dest_fx the index of the inserted FX, just in case it differs; 1-based 

Parameters:
 integer src_fx the index inputFX that shall be copied; 1-based 
 MediaItem_Take take the take, into which you want to insert the fx as takeFX 
 integer dest_fx the index, at which you want to insert the fx; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_CopyFXFromTakeFX

Functioncall:

integer dest_fx = ultraschall.InputFX_CopyFXFromTakeFX(MediaItem_Take take, integer src_fx, integer dest_fx)

Description:
copies a takeFX to monitoringFX

returns -1 in case of an error

Returnvalues:
 integer dest_fx the index of the inserted FX, just in case it differs; 1-based 

Parameters:
 MediaItem_Take take the take, from which you want to copy the takeFX 
 integer src_fx the index takeFX that shall be copied; 1-based 
 integer dest_fx the index, at which you want to insert the fx into the monitoring FXChain; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_MoveFXFromTakeFX

Functioncall:

integer dest_fx = ultraschall.InputFX_MoveFXFromTakeFX(MediaItem_Take take, integer src_fx, integer dest_fx)

Description:
moves a takeFX to monitoringFX

returns -1 in case of an error

Returnvalues:
 integer dest_fx the index of the inserted FX, just in case it differs; 1-based 

Parameters:
 MediaItem_Take take the take, from which you want to move the takeFX 
 integer src_fx the index takeFX that shall be movd; 1-based 
 integer dest_fx the index, at which you want to insert the fx into the monitoring FXChain; 1-based 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ InputFX_MoveFXToTakeFX

Functioncall:

integer dest_fx = ultraschall.InputFX_MoveFXToTakeFX(integer src_fx, MediaItem_Take take, integer dest_fx)

Description:
moves a monitoring-FX to a takeFX

returns -1 in case of an error

Returnvalues:
 integer dest_fx the index of the inserted FX, just in case it differs; 1-based 

Parameters:
 integer src_fx the index inputFX that shall be moved; 1-based 
 MediaItem_Take take the take, into which you want to insert the fx as takeFX 
 integer dest_fx the index, at which you want to insert the fx; 1-based 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetFXChain

Functioncall:

string FXStateChunk = ultraschall.InputFX_GetFXChain(integer trackfx_or_takefx)

Description:
Loads the FXStateChunk from the monitoring-fx-chain.

Returnvalues:
 string FXStateChunk the loaded FXStateChunk; nil, in case of an error 

Parameters:
 integer trackfx_or_takefx 0, return the FXStateChunk as Track-FXStateChunk; 1, return the FXStateChunk as Take-FXStateChunk 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_SetFXChain

Functioncall:

boolean retval = ultraschall.InputFX_SetFXChain(string FXStateChunk, boolean replacefx)

Description:
Inserts an FXStateChunk into the monitoring-fx-chain. Allows replacing it as well.

This could potentially create hiccups in the audio-engine of Reaper.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 string FXStateChunk the FXStateChunk that shall be set as monitoring fx-chain 
 boolean replacefx true, replace the current monitoring-fx-chain with the new one; false, only insert the new fx 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_FormatParamValue

Functioncall:

boolean retval, string formatted_value = ultraschall.InputFX_FormatParamValue(integer fxindex, integer paramindex, number value)

Description:
You can take a value and format it in the style of the used format of a specific parameter, like the frequency(to Hz), gain(to dB) with ReaEQ or bypass(normal, bypasses), wet with ReaTune, etc.

Note: only works with FX that support Cockos VST extensions.

returns false in case of an error

Returnvalues:
 boolean retval true, formatting was successful; false, formatting was unsuccessful(no such fx, parameter, no support for Cockos VST extension 
 string formatted_value the value in the format of the parameter; "", if not available 

Parameters:
 integer fxindex the index of the fx; 1-based 
 integer paramindex the parameter, whose formatting-style you want to applied to value; 1-based 
 number value the value you want to have formatted in the style of the parameter 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_FormatParamValueNormalized

Functioncall:

boolean retval, string formatted_value = ultraschall.InputFX_FormatParamValueNormalized(integer fxindex, integer paramindex, number value)

Description:
You can take a value and format it in the style of the used format of a specific parameter, like the frequency(to Hz), gain(to dB) with ReaEQ or bypass(normal, bypasses), wet with ReaTune, etc.
The value will be normalized.

Note: only works with FX that support Cockos VST extensions.

returns false in case of an error

Returnvalues:
 boolean retval true, formatting was successful; false, formatting was unsuccessful(no such fx, parameter, no support for Cockos VST extension 
 string formatted_value the value in the format of the parameter; "", if not available 

Parameters:
 integer fxindex the index of the fx; 1-based 
 integer paramindex the parameter, whose formatting-style you want to applied to value; 1-based 
 number value the value you want to have formatted in the style of the parameter 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetEQ

Functioncall:

integer index = ultraschall.InputFX_GetEQ(boolean instantiate)

Description:
Get the index of the first ReaEQ-instance in the monitoringFX, if available.

Optionally add a new instance if ReaEQ isn't existing yet in the monitoring-fx-chain.

returns -1 in case of an error

Returnvalues:
 integer index_of_reaeq the index of the first instance of ReaEQ in the monitoringFX; 0, if no ReaEQ is in the monitoringFX; -1, in case of an error 

Parameters:
 boolean instantiate true, add ReaEQ into monitoring-fx if not existing yet; false, don't add a ReaEQ-instance if not existing in monitoring-FXChain yet 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetFormattedParamValue

Functioncall:

boolean retval, string formatted_value = ultraschall.InputFX_GetFormattedParamValue(integer fxindex, integer paramindex)

Description:
Returns the current value of the monitoring-fx's parameter in its formatted style.

returns false in case of an error

Returnvalues:
 boolean retval true, getting was successful; false, getting was unsuccessful 
 string formatted_value the value of the formatted parameter; "", if not available 

Parameters:
 integer fxindex the index of the fx; 1-based 
 integer paramindex the parameter, whose formatted value you want to get; 1-based 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetIOSize

Functioncall:

integer retval, optional number inputPins, optional number outputPins = ultraschall.InputFX_GetIOSize(integer fxindex)

Description:
Returns the plugin-type and the input/output-pins available for an inputFX

returns -1 in case of an error

Returnvalues:
 integer retval the plugin-type
-1, no such plugin
0, VSTi
2, JSFX
3, VST
5, Mac AU
6, Video Processor 
 optional number inputPins the number of input-pins available 
 optional number outputPins the number of output-pins available 

Parameters:
 integer fxindex the index of the fx; 1-based 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetNamedConfigParm

Functioncall:

boolean retval, string config_parm_name = ultraschall.InputFX_GetNamedConfigParm(integer fxindex, string parmname)

Description:
gets plug-in specific named configuration value (returns true on success) of a monitoring-fx.

Special values:
'pdc' returns PDC latency.
'in_pin_0' returns name of first input pin (if available),
'out_pin_0' returns name of first output pin (if available), etc.

returns false in case of an error

Returnvalues:
 boolean retval true, name is available; false, name is not available 
 string config_parm_name the name of the config parameter 

Parameters:
 integer fxindex the index of the fx; 1-based 
 string parmname the value of the named config parm you want to get 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetParam

Functioncall:

number curval, number minval, number maxval = ultraschall.InputFX_GetParam(integer fxindex, integer paramindex)

Description:
returns the current, maximum and minimum value of a parameter of a monitoring-fx.

returns nil in case of an error

Returnvalues:
 number curval the current value of the parameter 
 number minval the minimum value of this parameter 
 number maxval the maximum value of this parameter 

Parameters:
 integer fxindex the index of the monitoring-fx; 1-based 
 integer paramindex the parameter, whose value you want to retrieve; 1-based 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetParameterStepSizes

Functioncall:

boolean retval, number step, number smallstep, number largestep, boolean istoggle = ultraschall.InputFX_GetParameterStepSizes(integer fxindex, integer paramindex)

Description:
returns the stepsizes of a parameter of a monitoring-fx.

returns nil in case of an error

Returnvalues:
 boolean retval true, stepsize is available; false; stepsize is not available; nil, in case of an error 
 number step the stepsize of this parameter 
 number smallstep the stepsize of a small step of this parameter 
 number largestep the stepsize of a large step of this parameter 
 boolean istoggle true, this parameter is a toggle parameter; false, this parameter is not a togle parameter 

Parameters:
 integer fxindex the index of the monitoring-fx; 1-based 
 integer paramindex the parameter, whose values you want to retrieve; 1-based 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetParamEx

Functioncall:

number curval, number minval, number maxval, number midval = ultraschall.InputFX_GetParamEx(integer fxindex, integer paramindex)

Description:
returns the current, maximum, minimum and mid-value of a parameter of a monitoring-fx.

returns nil in case of an error

Returnvalues:
 number curval the current value of the parameter 
 number minval the minimum value of this parameter 
 number maxval the maximum value of this parameter 
 number midval the mid-value of this parameter 

Parameters:
 integer fxindex the index of the monitoring-fx; 1-based 
 integer paramindex the parameter, whose value you want to retrieve; 1-based 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetParamName

Functioncall:

boolean retval, string paramname = ultraschall.InputFX_GetParamName(integer fxindex, integer paramindex)

Description:
returns the name of a parameter of a monitoring-fx.

returns false in case of an error

Returnvalues:
 boolean retval true, name can be returned; false, name cannot be returned 
 string paramname the name of the parameter 

Parameters:
 integer fxindex the index of the monitoring-fx; 1-based 
 integer paramindex the parameter, whose name you want to retrieve; 1-based 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetParamNormalized

Functioncall:

integer normalized_value = ultraschall.InputFX_GetParamNormalized(integer fxindex, integer paramindex)

Description:
returns the value of a parameter of a monitoring-fx in a normalized state.

returns nil in case of an error

Returnvalues:
 integer normalized_value the normalized version of the current value  

Parameters:
 integer fxindex the index of the monitoring-fx; 1-based 
 integer paramindex the parameter, whose normalized value you want to retrieve; 1-based 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetPinMappings

Functioncall:

integer pinmappings_Lo32Bit, integer pinmappings_Hi32Bit = ultraschall.InputFX_GetPinMappings(integer fxindex, integer isoutput, integer pin)

Description:
returns the pinmappings as bitfield of a parameter of a monitoring-fx.

returns nil in case of an error

Returnvalues:
 integer pinmappings_Lo32Bit a bitmask for the first 32 connectors, where each bit represents, if this pin is connected(1) or not(0) 
 integer pinmappings_Hi32Bit a bitmask for the second 32 connectors, where each bit represents, if this pin is connected(1) or not(0) 

Parameters:
 integer fxindex the index of the monitoring-fx; 1-based 
 integer isoutput 0, for querying input pins; 1, for querying output pins 
 integer pin the pin requested, like 0(left), 1(right), etc. 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_SetEQBandEnabled

Functioncall:

boolean retval = ultraschall.InputFX_SetEQBandEnabled(integer fxindex, integer bandtype, integer bandidx, boolean enable)

Description:
Enable or disable a ReaEQ band of a monitoring-fx.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer fxindex the index of the monitoring-fx; 1-based 
 integer bandtype the bandtype of the band to change;
0, lhipass
1, loshelf
2, band
3, notch
4, hishelf
5, lopass 
 integer bandidx 0, first band matching bandtype; 1, 2nd band matching bandtype, etc. 
 boolean enable true, enable band; false, disable band 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_SetEQParam

Functioncall:

boolean retval = ultraschall.InputFX_SetEQParam(integer fxindex, integer bandtype, integer bandidx, integer paramtype, number val, boolean isnorm)

Description:
Sets an EQ-parameter of a ReaEQ-instance in monitoring-fx

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer fxindex the index of the monitoring-fx; 1-based 
 integer bandtype the bandtype of the band to change;
0, lhipass
1, loshelf
2, band
3, notch
4, hishelf
5, lopass 
 integer bandidx 0, first band matching bandtype; 1, 2nd band matching bandtype, etc. 
 integer paramtype 0, freq; 1, gain; 2, Q 
 number val the new value for the paramtype of a bandidx 
 boolean isnorm true, value is normalized; false, value is not normalized 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_SetParam

Functioncall:

boolean retval = ultraschall.InputFX_SetParam(integer fxindex, index parameterindex, number val)

Description:
Sets a new value of a parameter of a monitoring-fx

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer fxindex the index of the monitoring-fx; 1-based 
 index parameterindex the index of the parameter to be set; 1-based 
 number val the new value to set 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_SetParamNormalized

Functioncall:

boolean retval = ultraschall.InputFX_SetParamNormalized(integer fxindex, index parameterindex, number val)

Description:
Sets a new value as normalized of a parameter of a monitoring-fx

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer fxindex the index of the monitoring-fx; 1-based 
 index parameterindex the index of the parameter to be set; 1-based 
 number val the new value to set 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_SetPinMappings

Functioncall:

boolean retval = ultraschall.InputFX_SetPinMappings(integer fxindex, integer isoutput, integer pin, integer low32bits, integer hi32bits)

Description:
sets the pinmappings as bitfield of a parameter of a monitoring-fx.

returns false in case of an error or if unsupported (not all types of plug-ins support this capability)

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer fxindex the index of the monitoring-fx; 1-based 
 integer isoutput 0, for querying input pins; 1, for querying output pins 
 integer pin the pin requested, like 0(left), 1(right), etc. 
 integer pinmappings_Lo32Bit a bitmask for the first 32 connectors, where each bit represents, if this pin is connected(1) or not(0) 
 integer pinmappings_Hi32Bit a bitmask for the second 32 connectors, where each bit represents, if this pin is connected(1) or not(0) 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetEQBandEnabled

Functioncall:

boolean enabled = ultraschall.InputFX_GetEQBandEnabled(integer fxindex, integer bandtype, integer bandidx)

Description:
Gets the enable or disable-state of a ReaEQ band of a monitoring-fx.

returns false in case of an error

Returnvalues:
 boolean enabled true, band is enabled; false, band is disabled 

Parameters:
 integer fxindex the index of the monitoring-fx; 1-based 
 integer bandtype the bandtype of the band to change;
0, lhipass
1, loshelf
2, band
3, notch
4, hishelf
5, lopass 
 integer bandidx 0, first band matching bandtype; 1, 2nd band matching bandtype, etc. 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ InputFX_GetEQParam

Functioncall:

boolean retval, number bandtype, number bandidx, number paramtype, number normval = ultraschall.InputFX_GetEQParam(integer fxindex, integer paramidx)

Description:
Gets the states and values of an EQ-parameter of a ReaEQ-instance in monitoring-fx

returns false in case of an error

Returnvalues:
 boolean retval true, if it's a ReaEQ-instance; false, is not a ReaEQ-instance or in case of an error 
 integer bandtype the bandtype of the band to change;
-1, master gain
0, lhipass
1, loshelf
2, band
3, notch
4, hishelf
5, lopass 
 integer bandidx 0, first band matching bandtype; 1, 2nd band matching bandtype, etc. 
 number paramtype 0, freq; 1, gain; 2, Q 
 number normval the normalized value 

Parameters:
 integer fxindex the index of the monitoring-fx; 1-based 
 integer paramidx the parameter whose eq-states you want to retrieve; 1-based 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ GetFocusedFX

Functioncall:

integer retval, integer tracknumber, integer fxidx, integer itemnumber, integer takeidx, MediaTrack track, optional MediaItem item, optional MediaItemTake take = ultraschall.GetFocusedFX()

Description:
Returns the focused FX

Returnvalues:
 integer retval 0, if no FX window has focus
   1, if a track FX window has focus or was the last focused and still open
   2, if an item FX window has focus or was the last focused and still open 
 integer tracknumber tracknumber; 0, master track; 1, track 1; etc. 
 integer fxidx the index of the FX; 1-based 
 integer itemnumber -1, if it's a track-fx; 1 and higher, the mediaitem-number 
 integer takeidx -1, if it's a track-fx; 1 and higher, the take-number 
 MediaTrack track the MediaTrack-object 
 optional MediaItem item the MediaItem, if take-fx 
 optional MediaItemTake take the MediaItem-Take, if take-fx 



^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ GetLastTouchedFX

Functioncall:

boolean retval, integer sourcetype, integer track_take_number, integer fxnumber, integer paramnumber, integer takeID, optional MediaTrack track, optional MediaItemTake take = ultraschall.GetLastTouchedFX()

Description:
Returns the last touched FX

Note: Does not return last touched monitoring-FX!

Returnvalues:
 boolean retval true, valid FX; false, no valid FX 
 integer sourcetype 0, takeFX; 1, trackFX 
 integer track_take_number the track or takenumber(see sourcetype-retval); 1-based 
 integer fxnumber the number of the fx; 1-based 
 integer paramnumber the number of the parameter; 1-based 
 integer takeID the number of the take; 1-based; -1, if takeFX 
 optional MediaTrack track the track of the TrackFX 
 optional MediaItemTake take the take of the TakeFX 



^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ GetFXComment_FXStateChunk

Functioncall:

string comment = ultraschall.GetFXComment_FXStateChunk(string FXStateChunk, integer fxid)

Description:
returns the fx-comment of a specific fx from an FXStateChunk

will return "" if no comment exists

returns nil in case of an error

Returnvalues:
 string comment the comment as stored for this specific fx; "", if no comment exists 

Parameters:
 string FXStateChunk the FXStateChunk, from whose fx you want to return a specific fx-comment 
 integer fxid the fx, whose comment you want to return 


^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ SetFXComment_FXStateChunk

Functioncall:

string FXStateChunk = ultraschall.SetFXComment_FXStateChunk(string FXStateChunk, integer fxid, string NewComment)

Description:
sets an fx-comment of a specific fx within an FXStateChunk

Set to "" to remove the comment

returns nil in case of an error

Returnvalues:
 string FXStateChunk the altered FXStateChunk with the new comment 

Parameters:
 string FXStateChunk the FXStateChunk, into which you want to set the new comment 
 integer fxid the fx, whose comment you want to set 
 string NewComment the new comment; "", to remove the currently set comment; newlines are allowed 


^ Reaper version 6.10Ultraschall version 4.2Lua version 5.3 ^ CountFXFromFXStateChunk

Functioncall:

integer count_of_fx= ultraschall.CountFXFromFXStateChunk(string FXStateChunk)

Description:
count the number of fx available in an FXStateChunk

returns nil in case of an error

Returnvalues:
 integer count_of_fx the number of fx within the FXStateChunk 

Parameters:
 string FXStateChunk the FXStateChunk in which you want to count the fx 


^ Reaper version 6.10Ultraschall version 4.2Lua version 5.3 ^ GetTrackFXComment

Functioncall:

string comment = ultraschall.GetTrackFXComment(MediaTrack track, integer fxid)

Description:
returns the comment of a track-fx

returns nil in case of an error

Returnvalues:
 string comment the comment of a track-fx 

Parameters:
 MediaTrack track the mediatrack, of which you want to request a trackfx's comment 
 integer fxid the id of the fx, whose comment you want to have 


^ Reaper version 6.10Ultraschall version 4.2Lua version 5.3 ^ GetTakeFXComment

Functioncall:

string comment = ultraschall.GetTakeFXComment(MediaItem item, integer takeid, integer fxid)

Description:
returns the comment of a take-fx

returns nil in case of an error

Returnvalues:
 string comment the comment of a track-fx 

Parameters:
 MediaItem item the mediaitem, whose takefx-comment you want to request 
 integer take_id the id of the take, whose takefx-comment you want to request 
 integer fxid the id of the fx, whose comment you want to have 


^ Reaper version 6.10Ultraschall version 4.2Lua version 5.3 ^ InputFX_GetComment

Functioncall:

string comment = ultraschall.InputFX_GetComment(integer fxid)

Description:
returns the comment of an input-fx

returns nil in case of an error

Returnvalues:
 string comment the comment of a track-fx 

Parameters:
 integer fxid the id of the fx, whose comment you want to have 


^ Reaper version 6.10Ultraschall version 4.2Lua version 5.3 ^ SetTrackFXComment

Functioncall:

boolean retval = ultraschall.SetTrackFXComment(MediaTrack track, integer fxid, string Comment)

Description:
sets the comment of a track-fx

Note: you need to switch fxchain off/on or change the shown fx for the new comment to be displayed in Reaper's UI

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 MediaTrack track the mediatrack, of which you want to set a trackfx's comment 
 integer fxid the id of the fx, whose comment you want to set 
 string Comment the new comment 


^ Reaper version 6.10Ultraschall version 4.2Lua version 5.3 ^ SetTakeFXComment

Functioncall:

string comment = ultraschall.SetTakeFXComment(MediaItem item, integer takeid, integer fxid, string Comment)

Description:
sets the comment of a take-fx

returns nil in case of an error

Returnvalues:
 string comment the comment of a track-fx 

Parameters:
 MediaItem item the mediaitem, whose takefx-comment you want to set 
 integer take_id the id of the take, whose takefx-comment you want to set 
 integer fxid the id of the fx, whose comment you want to set 
 string Comment the new Comment for this takefx 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SplitStringAtLineFeedToArray

Functioncall:

integer count, array split_string = ultraschall.SplitStringAtLineFeedToArray(string unsplitstring)

Description:
Splits the string unsplitstring at linefeed/tabs/control characters and puts each of these splitpieces into an array, each splitpiece one array-entry.
The linefeeds will not(!) be returned in the array's entries.
Returns the number of entries in the array, as well as the array itself
If there are no control characters or linefeeds in the string, the array will have only one entry with unsplitstring in it.

returns -1 in case of failure

Returnvalues:
 integer count number of entries in the split_string-array 
 array split_string an array with all the individual "postsplit"-pieces of the string 

Parameters:
 string unsplitstring the string, that shall be split at LineFeed/Tabs/Control Characters. Nil is not allowed. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountCharacterInString

Functioncall:

integer count, array positions = ultraschall.CountCharacterInString(string checkstring, string character)

Description:
Counts, how often character appears in checkstring and returns the count, as well as a array an with the position-numbers.

returns -1 in case of error

Returnvalues:
 integer count the number of occurences of character in checkstring 
 array positions the positionnumbers of the character in checkstring 

Parameters:
 string checkstring the string to check search through 
 string character the character to search for. Only single characters are allowed. Controlcodes like \n \t count as single character. Case sensitive. 


^ Reaper version 5.77Ultraschall version 4.1Lua version 5.3 ^ IsValidMatchingPattern

Functioncall:

boolean retval = ultraschall.IsValidMatchingPattern(string patstring)

Description:
Returns, if patstring is a valid pattern-matching-string

Returnvalues:
 boolean retval true, patstring is a valid pattern-matching-string; false, patstring isn't a valid pattern-matching-string 

Parameters:
 string patstring the string to check for, if it's a valid pattern-matching-string 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CSV2IndividualLinesAsArray

Functioncall:

integer count, array individual_values = ultraschall.CSV2IndividualLinesAsArray(string csv_line, optional string separator)

Description:
convert a csv-string to an array of the individual values. If separator cannot be found, it'll return the original string

returns nil in case or error

Returnvalues:
 integer count the number of entries 
 array individual_values all values, each in an individual array-position 

Parameters:
 string csv_line a string as a csv, with all values included and separated by parameter separator 
 string separator the separator, that separates the individual entries; use nil for commas; separators will be removed from the final strings! 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ RoundNumber

Functioncall:

integer retval = ultraschall.RoundNumber(number num)

Description:
returns a rounded value of the parameter number. %.5 and higher rounds up, lower than %.5 round down.

returns nil in case of an error

Returnvalues:
 integer retval the rounded number 

Parameters:
 number num the floatingpoint number, you'd like to have rounded. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetPartialString

Functioncall:

string partial_string = ultraschall.GetPartialString(string str, string sep1, string sep2)

Description:
returns the part of a filename-string between sep1 and sep2

returns nil if it doesn't work, no sep1 or sep2 exist

Returnvalues:
 string partial_string the partial string between sep1 and sep2 

Parameters:
 string str string to be processed 
 string sep1 separator on the "left" side of the partial string 
 string sep2 separator on the "right" side of the partial string 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ Notes2CSV

Functioncall:

string csv_retval = ultraschall.Notes2CSV()

Description:
Gets the project's notes and returns it as a CSV.

Returnvalues:
 string csv_retval the project notes, returned as a csv-string; entries separated by a comma 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CSV2Line

Functioncall:

string values = ultraschall.CSV2Line(string csv_line)

Description:
converts a string of csv-values into a string with all values and without the ,-separators

returns nil in case of error

Returnvalues:
 string values all values in one string 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsItemInTrack

Functioncall:

boolean retval = ultraschall.IsItemInTrack(integer tracknumber, integer itemIDX)

Description:
checks, whether a given item is part of the track tracknumber

returns true, if the itemIDX is part of track tracknumber, false if not, nil if no such itemIDX or Tracknumber available

Returnvalues:
 boolean retval true, if item is in track, false if item isn't in track 

Parameters:
 integer itemIDX the number of the item to check of 
 integer tracknumber the number of the track to check in, with 1 for track 1, 2 for track 2, etc. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CheckActionCommandIDFormat

Functioncall:

boolean retval = ultraschall.CheckActionCommandIDFormat(action_command_id)

Description:
Checks, whether an action command id is a valid commandid(which is a number) or a valid _action_command_id (which is a string with an _underscore in the beginning).

Does not check, whether this action_command_id is a useable one, only if it's "syntax" is correct!

returns falsein case of an error

Returnvalues:
 boolean retval true, valid action_command_id; false, not a valid action_command_id 

Parameters:
 actioncommand_id the ActionCommandID you want to check; either a number or an action_command_id with an underscore at the beginning 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CheckActionCommandIDFormat2

Functioncall:

boolean retval = ultraschall.CheckActionCommandIDFormat2(action_command_id)

Description:
Checks, whether an action command id is a valid commandid(which is a number) or a valid _action_command_id (which is a string with an _underscore in the beginning).

Unlike CheckActionCommandIDFormat, this checks whether an action-command-id-string is an actual registered one(case sensitive!).

returns false in case of an error

Returnvalues:
 boolean retval true, valid action_command_id; false, not a valid action_command_id 

Parameters:
 actioncommand_id the ActionCommandID you want to check; either a number or an action_command_id with an underscore at the beginning 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ToggleStateAction

Functioncall:

integer retval = ultraschall.ToggleStateAction(integer section, string actioncommand_id, integer state)

Description:
Toggles state of an action using the actioncommand_id(instead of the CommandID-number)

returns current state of the action after toggling or -1 in case of error.

Returnvalues:
 integer retval state if the action, after it has been toggled 

Parameters:
 integer section the section of the action(see ShowActionlist-dialog)
0 - Main
100 - Main (alt recording)
32060 - MIDI Editor
32061 - MIDI Event List Editor
32062 - MIDI Inline Editor
32063 - Media Explorer 
 string actioncommand_id the ActionCommandID of the action to toggle 
 integer state toggle-state
0, off
&1, on/checked in menus
&2, on/grayed out in menus
&16, on/bullet in front of the entry in menus
-1, NA because the action does not have on/off states. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ RefreshToolbar_Action

Functioncall:

ultraschall.RefreshToolbar_Action(integer section, string actioncommand_id)

Description:
Refreshes a toolbarbutton with an ActionCommandID(instead of the CommandID-number)

returns -1 in case of error


Parameters:
 integer section section
0 - Main
100 - Main (alt recording)
32060 - MIDI Editor
32061 - MIDI Event List Editor
32062 - MIDI Inline Editor
32063 - Media Explorer 
 string actioncommand_id ActionCommandID of the action, associated with the toolbarbutton  


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ToggleStateButton

Functioncall:

boolean retval = ultraschall.ToggleStateButton(integer section, string actioncommand_id, integer state)

Description:
Toggles state and refreshes the button of an actioncommand_id

returns false in case of error

Returnvalues:
 boolean retval true, toggling worked; false, toggling didn't work 

Parameters:
 integer section the section of the action(see ShowActionlist-dialog)
0 - Main
100 - Main (alt recording)
32060 - MIDI Editor
32061 - MIDI Event List Editor
32062 - MIDI Inline Editor
32063 - Media Explorer 
 string actioncommand_id the ActionCommandID of the action to toggle 
 integer state 1 or 0 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ SecondsToTime

Functioncall:

string time_string = ultraschall.SecondsToTime(number pos)

Description:
converts timeposition in seconds(pos) to a timestring (h)hh:mm:ss.mss

returns nil in case of error

Returnvalues:
 string time_string timestring in (h)hh:mm:ss.mss 

Parameters:
 number pos timeposition in seconds 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ TimeToSeconds

Functioncall:

number position = ultraschall.TimeToSeconds(string timestring)

Description:
converts a timestring days:hours:minutes:seconds.milliseconds to timeposition in seconds
it is ok, to have only some of the last ones given, so i.e. excluding days and hours is ok. Though excluding values inbetween does not work!

A single integer in timestring will be seen as seconds.
To only specifiy milliseconds in particular, start the number with a .
all other values are separated by :

returns -1 in case of error, timestring is a nil or if you try to add an additional value, added before days

does not check for valid timeranges, so 61 minutes is possible to give, even if hours are present in the string

Returnvalues:
 number position the converted position 

Parameters:
 string timestring a string like: days:hours:minutes:seconds.milliseconds , i.e. 1:16:27:50.098 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SecondsToTimeString_hh_mm_ss_mss

Functioncall:

string timestring = ultraschall.SecondsToTimeString_hh_mm_ss_mss(number time)

Description:
Converts the parameter time into a timestring of the format hh:mm:ss.mss
Valid timeranges are from 0 to 359999.99 seconds(about 99 hours).

returns -1 in case of error

Returnvalues:
 string timestring the converted timestring. It will always follow the format hh:mm:ss.mss and fill up digits with zeros, if necessary. 

Parameters:
 number time the time in seconds to be converted into the timestring 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ TimeStringToSeconds_hh_mm_ss_mss

Functioncall:

number time = ultraschall.TimeStringToSeconds_hh_mm_ss_mss(string timestring)

Description:
Converts the parameter timestring of the format hh:mm:ss.mss into seconds
The timestring must follow strictly this format, or the function returns -1 as result.

returns -1 in case of error

Returnvalues:
 number time the time in seconds to be converted into the timestring, -1 in case of an error 

Parameters:
 string timestring the converted timestring. It must always follow the format hh:mm:ss.mss. Fill up digits with zeros, if necessary. 


^ Reaper version 5.52Ultraschall version 4.00Lua version 5.3 ^ CountPatternInString

Functioncall:

integer count, array positions = ultraschall.CountPatternInString(string sourcestring, string searchstring, boolean non_case_sensitive)

Description:
returns the count and an array with all positions of searchstring in sourcestring.

Returnvalues:
 integer count the number of appearances of searchstring in sourcestring 
 array positions an array with count-entries, where every entry contains the position of searchstring in sourcestring 

Parameters:
 string sourcestring the string, you want to search through 
 string searchstring the string, you want to search for in sourcestring 
 boolean non_case_sensitive true, the search does not care about case-sensitivity; false, case of searchstring will be kept 


^ Reaper version 6.19Ultraschall version 4.2Lua version 5.3 ^ OpenURL

Functioncall:

integer retval = ultraschall.OpenURL(string url)

Description:
Opens the URI with the standard-browser installed in your system.

returns -1 in case of an error


Parameters:
 string url the url to be opened in the browser; will check for :// in it for validity! 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountEntriesInTable_Main

Functioncall:

integer count, table subtables, integer count_of_subtables = ultraschall.CountEntriesInTable_Main(table the_table)

Description:
Counts the number of entries in an indexed table.
Will only count the entries from the main-table, not it's subtables. If you want to know the number of subtables, this function returns a table that includes all subtables found in the main-table,
as well as the number of found subtables.

Returns -1 if table isn't a valid table

Returnvalues:
 integer count the number of entries in the table 
 table subtables if an entry of table has a table as value, that table-value will be included in this subtables-table(for recursive counting-usecases) 
 integer count_of_subtables the number of entries in the subtables-table 

Parameters:
 table table the table, whose entries you want to count 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CompareArrays

Functioncall:

table diff_array = ultraschall.CompareArrays(table Array, table CompareArray2)

Description:
Compares Array using parameter CompareArray2 and returns an array with all entries in CompareArray2, that are not in Array.
The comparable arrays must be indexed by integer-numbers.

Returns nil in case of an error

Returnvalues:
 table diff_array an array with all entries from CompareArray2, that are not in Array 

Parameters:
 table Array the reference-array 
 table CompareArray2 the array you want to check against Array; all entries in CompareArray2 that are not in Array will be returned 


^ Reaper version 6.17Ultraschall version 4.2Lua version 5.3 ^ GetOS

Functioncall:

string operating_system, integer bits = ultraschall.GetOS()

Description:
Returns operating system and if it's a 64bit/32bit-operating system.

Returnvalues:
 string operating_system the operating system used; usually "Win", "Mac" or "Other"(e.g. when Linux is used) 
 integer bits the number of bits of the operating-system. Either 32 or 64 bit. 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsOS_Windows

Functioncall:

boolean is_windows, integer number_of_bits = ultraschall.IsOS_Windows()

Description:
returns, if the current operating system is windows

Returnvalues:
 boolean is_windows true, if the operating-system is windows; false if not 
 integer bits the number of bits of the operating-system. Either 32 or 64 bit; nil if is_win==false 



^ Reaper version 6.19Ultraschall version 4.2Lua version 5.3 ^ IsOS_Mac

Functioncall:

boolean is_mac, integer number_of_bits = ultraschall.IsOS_Mac()

Description:
returns, if the current operating system is mac-osx

Returnvalues:
 boolean is_mac true, if the operating-system is mac-osx; false if not 
 integer bits the number of bits of the operating-system. Either 32 or 64 bit.; nil if is_mac=false 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsOS_Other

Functioncall:

boolean is_other, integer number_of_bits = ultraschall.IsOS_Other()

Description:
returns, if the current operating system is neither mac or win

Returnvalues:
 boolean is_other true, if the operating-system is neither mac or win; false if not 
 integer bits the number of bits of the operating-system. Either 32 or 64 bit.; nil if is_other=false 



^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetReaperAppVersion

Functioncall:

integer majorversion, integer subversion, string bits, string operating_system, boolean portable, optional string betaversion = ultraschall.GetReaperAppVersion()

Description:
Returns operating system and if it's a 64bit/32bit-operating system.

Returnvalues:
 integer majorversion the majorversion of Reaper. Can be used for comparisions like "if version<5 then ... end". 
 integer subversion the subversion of Reaper. Can be used for comparisions like "if subversion<96 then ... end". 
 string bits the number of bits of the reaper-app 
 string operating_system the operating system, either "Win", "OSX" or "Other" 
 boolean portable true, if it's a portable installation; false, if it isn't a portable installation 
 optional string betaversion if you use a pre-release of Reaper, this contains the beta-version, like "rc9" or "+dev0423" or "pre6" 



^ Reaper version 6.16Ultraschall version 4.2Lua version 5.3 ^ LimitFractionOfFloat

Functioncall:

number altered_number = ultraschall.LimitFractionOfFloat(number number, integer length_of_fraction)

Description:
limits the fraction of a float-number to a specific length of fraction(digits). You can also choose to round the value or not.

returns nil in case of error

Returnvalues:
 number altered_number the altered number with the new fraction-length. Will be equal to parameter number, if number was integer or fraction less digits than length_of_fraction 

Parameters:
 number number the number, whose fraction shall be limited 
 integer length_of_fraction the number of digits in the fraction 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ GetAllEntriesFromTable

Functioncall:

integer count, table foundtypes, table returned_table = ultraschall.GetAllEntriesFromTable(table table)

Description:
Gets an iterable version of table. Good for analysing unknown tables.

Returns the number of entries, a table(array) with the datatypes of each entry and the table with all it's entries in the same order as in the foundtypes-table.

This doesn't treat table recursivley, means: each "Subtable" within the table is treated as one entry of the type "table". That means, that these tables must be analysed themselves in an extra step!
A[1]=1
A[2][1]=2
A[2][2]=3.4
will return two(!) entries, the first being of type "integer", the second being of type "table". Next step would be to run use this function to analyse A[2] as well, which would result in two entries: the first being of type "integer" and the second of type "float", etc.

returns -1 in case of error

Returnvalues:
 integer count the number of table-entries found 
 table foundtypes a table, with count-entries, each entry having the type of each entry in the returned_table as string.
The types can be "nil", "integer", "float", "string", "boolean", "table", "function", "thread", "userdata" 
 table returned_table an iterable version of table. The type of each entry can be found in the accompanying entry of foundtypes
the format is returned_table[indexnr][1] - indexname/number of the original table-entry
               returned_table[indexnr][2] - the value of the original table-entry
the indexnr is 1 to count, while [indexnr][1] is the indexnr of the original-table-entry, which might be a string, functionname or something else as well 

Parameters:
 table table the table to get the individual entries from 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ APIExists

Functioncall:

boolean retval = ultraschall.APIExists(string functionname)

Description:
returns true, if a certain function/variable exists in ultraschall.

returns false if nothing has been found

Returnvalues:
 boolean retval true, if element exists; false if it doesn't exist 

Parameters:
 string functionname the name of the function to check for; only the functionname without ultraschall. ! 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsValidGuid

Functioncall:

boolean retval = ultraschall.IsValidGuid(string guid, boolean strict)

Description:
Checks, if guid is a valid guid. Can also be used for strings, that contain a guid somewhere in them(strict=false)

A valid guid is a string that follows the following pattern:
{........-....-....-....-............}
where . is a hexadecimal value(0-F)

Returns false in case of error

Returnvalues:
 boolean retval true, guid is/contains a valid guid; false, guid isn't/does not contain a valid guid 

Parameters:
 string guid the guid to check for validity 
 boolean strict true, guid must only be the valid guid; false, guid must contain a valid guid somewhere in it(means, can contain trailing or preceding characters) 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetGuidExtState

Functioncall:

integer retval = ultraschall.SetGuidExtState(string guid, string key, string value, integer savelocation, boolean overwrite, boolean persists)

Description:
Sets an extension-state using a given guid. Good for storing additional metadata of objects like MediaTracks, MediaItems, MediaItem_Takes, etc(everything, that has a guid).
The state can be saved as either global extension state or "local" extension-project-state(in the currently opened project)
The guid can have additional text, but must contain a valid guid somewhere in it!
A valid guid is a string that follows the following pattern:
{........-....-....-....-............}
where . is a hexadecimal value(0-F)

Returns -1 in case of error

Returnvalues:
 integer retval the idx of the extstate(if a project extension state); 1, successful(with extension states), -1, unsuccessful 

Parameters:
 string guid the guid of the object, for whom you want to store a key/value-pair; can have additional characters before and after the guid, but must contain a valid guid! 
 string key the key for this guid 
 string value the value to store into the key/value-store 
 integer savelocation 0, store as project extension state(into the currently opened project); 1, store as global extension state(when persist=true, into reaper-extstate.ini in the resourcesfolder) 
 boolean overwrite true, overwrite a previous given value; false, don't overwrite, if a value exists already 
 boolean persists true, make extension state persistent(available after Reaper-restart); false, don't make it persistent; Only with global extension states 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetBitfield

Functioncall:

integer new_integer_bitfield = ultraschall.SetBitfield(integer integer_bitfield, boolean set_to, integer bit_1, integer bit_2, ... integer bit_n)

Description:
Alters an integer-bitfield.

Returns nil in case of error, like invalid bit-values

Returnvalues:
 integer new_integer_bitfield the newly altered bitfield 

Parameters:
 integer integer_bitfield the old integer-bitfield that you want to alter 
 boolean set_to true, set the bits to 1; false, set the bits to 0; nil, toggle the bits 
 integer bit1..n one or more parameters, that include the bitvalues toset/unset/toggle with 1 for the first bit; 2 for the second, 4 for the third, 8 for the fourth, etc 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ PreventCreatingUndoPoint

Functioncall:

ultraschall.PreventCreatingUndoPoint()

Description:
Prevents creation of an Undo-point. Only useful in non-defer-scripts.




^ Reaper version 5.40Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ SetIntConfigVar_Bitfield

Functioncall:

boolean retval, integer new_integer_bitfield = ultraschall.SetIntConfigVar_Bitfield(string configvar, boolean set_to, integer bit_1, integer bit_2, ... integer bit_n)

Description:
Alters an integer-bitfield stored by a ConfigVariable.

Returns false in case of error, like invalid bit-values, etc

Returnvalues:
 boolean retval true, if altering was successful; false, if not successful 
 integer new_integer_bitfield the newly altered bitfield 

Parameters:
 string configvar the config-variable, that is stored as an integer-bitfield, that you want to alter. 
 boolean set_to true, set the bits to 1; false, set the bits to 0; nil, toggle the bits 
 integer bit1..n one or more parameters, that include the bitvalues toset/unset/toggle with 1 for the first bit; 2 for the second, 4 for the third, 8 for the fourth, etc 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ MakeCopyOfTable

Functioncall:

table table_copy = ultraschall.MakeCopyOfTable(table table)

Description:
Creates a true copy of a table(not only references).

adapted from Tyler Neylon's function, found at Stack Overflow

Returns nil if table isn't a valid table

Returnvalues:
 table table_copy the true copy of the table; nil in case of error 

Parameters:
 table table the table to create a copy from. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ConvertStringToAscii_Array

Functioncall:

integer length, table byte_array = ultraschall.ConvertStringToAscii_Array(string string)

Description:
Converts a string into it's individual characters and numerical-representation as a table and after that returns its number of table-entries and the table.

Returns -1 if string isn't a valid string

Returnvalues:
 integer length the number of characters in the string/entries in the returned table byte_array 
 table byte_array the ByteArray as a table, with the format
     ByteArray[idx][1]="A" -- the byte itself
     ByteArray[idx][2]=65  -- the numerical representation of the byte 

Parameters:
 string string the string to be converted 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CompareStringWithAsciiValues

Functioncall:

boolean retval, integer errorposition = ultraschall.CompareStringWithAsciiValues(string string, integer bytevalue_1, integer bytevalue_2, ... integer bytevalue_n)

Description:
Compares a string with a number of byte-values(like ASCII-values).
Bytevalues can be either decimal and hexadecimal.
-1, if you want to skip checking of a specific position in string.

Returns false in case of error

Returnvalues:
 boolean retval true, if check was successful; false, if not successful 
 integer errorposition if retval is false, this will contain the position in string, where the checking failed; nil, if retval is true 

Parameters:
 string string the string to check against the bytevalues 
 integer bytevalue_1..n one or more parameters, that include the bytevalues to check against the accompanying byte in string; -1, if you want to skip check for that position 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ ReturnsMinusOneInCaseOfError_Arzala

Functioncall:

integer retval = ultraschall.ReturnsMinusOneInCaseOfError_Arzala()

Description:
Returns -1 in case of an error

Returnvalues:
 integer retval returns -1 in case of error 



^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ CountLinesInString

Functioncall:

integer number_of_lines = ultraschall.CountLinesInString(string String)

Description:
Counts the lines in a string. It counts them by counting \n-newlines(not carriage returns!)

Returns -1 in case of an error

Returnvalues:
 integer number_of_lines number of lines of the string 

Parameters:
 string String the string to count the lines of 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ReturnTypeOfReaperObject

Functioncall:

string objecttype = ultraschall.ReturnTypeOfReaperObject(Reaperobject object)

Description:
returns the type of a Reaper-object.

Returnvalues:
 string objecttype the type of the parameter of object
the following types can be returned:
ReaProject, MediaTrack, MediaItem, MediaItem_Take, TrackEnvelope, PCM_source, None 

Parameters:
 Reaperobject object a Reaper-object of the following types:
ReaProject, MediaTrack, MediaItem, MediaItem_Take, TrackEnvelope, PCM_source
returns None if the object isn't a valid Reaper-object 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsObjectValidReaperObject

Functioncall:

boolean retval, string objecttype = ultraschall.IsObjectValidReaperObject(Reaperobject object)

Description:
checks, if object is a valid Reaper-object. It also returns the type of that Reaper-object.

Returnvalues:
 boolean retval true, if it's a valid Reaper-object; false, if not 
 string objecttype the type of the parameter of object
the following types can be returned:
ReaProject, MediaTrack, MediaItem, MediaItem_Take, TrackEnvelope, PCM_source, None 

Parameters:
 Reaperobject object a Reaper-object of the following types:
ReaProject, MediaTrack, MediaItem, MediaItem_Take, TrackEnvelope, PCM_source
returns None if the object isn't a valid Reaper-object 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ KeepTableEntriesOfType

Functioncall:

table alteredtable = ultraschall.KeepTableEntriesOfType(table worktable, string keeptype)

Description:
Removes all entries from worktable, that are not of the datatype as given by keeptype.

returns nil in case of error

Returnvalues:
 table alteredtable the table, that contains only the entries of the type as given by parameter keeptype 

Parameters:
 table worktable the unaltered source-table for processing 
 string keeptype the type that shall remain in table
allowed are boolean, integer, float, number, table, string, userdata, thread, ReaProject, MediaTrack, MediaItem, MediaItem_Take, TrackEnvelope, PCM_source 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ RemoveTableEntriesOfType

Functioncall:

table alteredtable = ultraschall.RemoveTableEntriesOfType(table worktable, string removetype)

Description:
Removes all entries from worktable, that are of the datatype as given by removetype.

returns nil in case of error

Returnvalues:
 table alteredtable the table, that contains only the entries that are nt of the type as given by parameter removetype 

Parameters:
 table worktable the unaltered source-table for processing 
 string removetype the type that shall be removed from table
allowed are boolean, integer, float, number, table, string, userdata, ReaProject, MediaTrack, MediaItem, MediaItem_Take, TrackEnvelope, PCM_source 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsItemInTrack3

Functioncall:

boolean retval = ultraschall.IsItemInTrack3(MediaItem MediaItem, string trackstring)

Description:
Checks, whether a MediaItem is in any of the tracks, given by trackstring.

see IsItemInTrack to use itemidx instead of the MediaItem-object.
see IsItemInTrack2 to check against only one track.

returns nil in case of error

Returnvalues:
 boolean retval true, if item is in track; false, if not 
 string trackstring a string with all tracknumbers, separated by commas; 1 for track 1, 2 for track 2, etc 

Parameters:
 MediaItem MediaItem the MediaItem, of which you want to know the track is is placed in 
 string trackstring a string with all tracknumbers, separated by commas; 1 for track 1, 2 for track 2, etc 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ AddIntToChar

Functioncall:

string new_character = ultraschall.AddIntToChar(string character, integer int)

Description:
Adds/subtracts int to/from the numeric representation of character. It will return the new character.
It will not(!) include "overflows" into the adding/subtraction. That said, if you want to add a value resulting in a character above ASCII-code 255, it will fail!

Returns nil in case of an error

Returnvalues:
 string new_character the new character, after parameter int has been added/subtracted from/to character 

Parameters:
 string character the character, onto which you want to add/subtract parameter int; only single character allowed 
 integer int the value, that you want to add to the numerical representation of parameter character 


^ Reaper version 5.92Ultraschall version 4.00Lua version 5.3 ^ MakeFunctionUndoable

Functioncall:

boolean retval, string current_UndoMessage, retvals_1, ..., retvals_2 = ultraschall.MakeFunctionUndoable(function Func, string UndoMessage, integer Flag, Func_parameters_1, ... Func_parameters_n)

Description:
Run the function Func and create an undopoint for this function. You can also give an UndoMessage and a flag for Reaper to use.
All parameters needed by Func follow after parameter Flag, as if it would be the normal parameters.
This should make creating undo-points much much easier...

Note: Reaper will use the undo-point only for functions, who do "undo"-able things. If you don't have something of that kind(no creating a track or something), Reaper will not create an undo-point.

Returns false in case of an error

Returnvalues:
 boolean retval true, undoing was successful; false, undoing wasn't successful 
 string current_UndoMessage the current UndoMessage for the last action done by Reaper. Use this so see, if getting an undo-point was successful 
 retvals_1 ... retvals_2 the returnvalues, as returned by function Func 

Parameters:
 function Func the function, that you want to create an undo-point for 
 string UndoMessage the undo-message to be displayed by Reaper in the Undo-history 
 integer Flag you can set a flag, if you want, for this undo-point 
 Func_parameters_1, ... Func_parameters_n the parameters, as needed by the function Func; will be given to Func as provided by you 


^ Reaper version 5.92Ultraschall version 4.00Lua version 5.3 ^ ReturnTableAsIndividualValues

Functioncall:

retval1, retval2, retval3, ... , retval64 = ultraschall.ReturnTableAsIndividualValues(table Table)

Description:
Returns the first 64 entries of an numerical-indexed table as returnvalues

Returnvalues:
 retval1 ... retval64 the values from Table returned 

Parameters:
 table Table the table, whose values you want to return. It will only return values with index 1...64! 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ type

Functioncall:

string type_of_object, optional boolean isnumber = ultraschall.type(identifier object)

Description:
Returns the type of the object.
Supported types are Lua's own datatypes as well as Reaper's own datatypes.

Due API-limitations, SWS-specific datatypes are not supported in this function!

Returnvalues:
 string type_of_object the type of the object; the following are valid:
nil, number: integer, number: float, boolean, string, function, table, thread, userdata,
ReaProject, MediaItem, MediaItem_Take, MediaTrack, TrackEnvelope, AudioAccessor, joystick_device, PCM_source
userdata will be shown, if object isn't of any known type 
 optional boolean isnumber true, if object is a number(either integer or number) 

Parameters:
 identifier object the object, whose type you want to know 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ ConcatIntegerIndexedTables

Functioncall:

integer numentries, array concatenated_table = ultraschall.ConcatIntegerIndexedTables(array table1, array table2)

Description:
Concatenates the entries of two tables into one table. The entries of each table must be indexed by integers

The new table still has the same references as the old table, means: if you remove the old tables/entries in the old tables, the concatenated table/accompanying entries will loose elements.
To get a "true"-concatenated copy, you should first create new copies of the tables, using MakeCopyOfTable.

Returnvalues:
 integer numentries the number of entries in the new table 
 array concatenated_table the new concatenated table 

Parameters:
 array table1 the first table to be concatenated; the entries must be indexed by integer-numbers! 
 array table2 the second table to be concatenated; the entries must be indexed by integer-numbers! 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ReverseTable

Functioncall:

table reversed_table, integer entry_count = ultraschall.ReverseTable(table the_table)

Description:
reversed the order of the entries of a table, means, the last entry will become the first, the first become the last, etc.
The table must be indexed by integers.

Returns nil if table isn't a valid table

Returnvalues:
 table reversed_table the resulting table with the reversed order of all entries 
 integer entry_count the number of entries in the reversed_table 

Parameters:
 table table the table, whose entries you want to reverse 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetDuplicatesFromArrays

Functioncall:

integer duplicate_count, array duplicate_array, integer originalscount_array1, array originals_array1, integer originalscount_array2, array originals_array2 = ultraschall.GetDuplicatesFromArrays(array array1, array array2)

Description:
Returns the duplicates and the originals(entries only in one of the arrays) of two arrays. It will also return the number of entries.

This works only on arrays with integer-indexed entries; index must start with index 1!

returns -1 in case of an error

Returnvalues:
 integer duplicate_count the number of entries in both arrays 
 array duplicate_array the entries in both arrays 
 integer originalscount_array1 the number of entries only in array1 
 array originals_array1 the entries that are only existing in array1 
 integer originalscount_array2 the number of entries only in array2 
 array originals_array2 the entries that are only existing in array2 

Parameters:
 array array1 the first array to check for duplicates and "original"-entries 
 array array2 the second array to check for duplicates and "original"-entries 


^ Reaper version 5.95Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetScriptFilenameFromActionCommandID

Functioncall:

string scriptfilename_with_path = ultraschall.GetScriptFilenameFromActionCommandID(string action_command_id)

Description:
returns the filename with path of a script, associated to a ReaScript.
Command-ID-numbers do not work!
                        
returns false in case of an error

Returnvalues:
 string scriptfilename_with_path the scriptfilename with path associated with this ActionCommandID 

Parameters:
 string Path the path to set as new current working directory 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ CombineBytesToInteger

Functioncall:

integer retval = ultraschall.CombineBytesToInteger(integer bitoffset, integer Byte_1, optional Byte_2, ..., optional Byte_n)

Description:
Combines the Byte-values Byte_1 to Byte_n into one integer.
That means, if you give 4 values, it will return a 32bit-integer(4*8Bits).

Negative values will use the maximum possible value of that byte minus the bits.
In Byte_1, -2 will be 255-1=254, in Byte 2, -2 will be 65280-256=65024.

Use bitoffset to define, from which bit on you want to combine the values.

Returns -1 in case of an error

Returnvalues:
 integer retval the combined integer 

Parameters:
 integer bitoffset if you want to start combining the values from a certain bitoffset-onwards, set the offset here; use 0 to start with the first bit. 
 integer Byte_1 a bytevalue that you want to combine into one 
 optional integer Byte_2 a bytevalue that you want to combine into one 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ SplitIntegerIntoBytes

Functioncall:

integer Byte1, integer Byte2, integer Byte3, integer Byte4 = ultraschall.SplitIntegerIntoBytes(integer integervalue)

Description:
Splits a 32-bit-integer-value into four bytes.

Returns -1 in case of an error

Returnvalues:
 integer Byte1 the first eight bits of the integer-value as a Byte 
 integer Byte2 the second eight bits of the integer-value as a Byte 
 integer Byte3 the third eight bits of the integer-value as a Byte 
 integer Byte4 the fourth eight bits of the integer-value as a Byte 

Parameters:
 integer integeroffset the integer-value that you want to split into individual bytes 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetReaperScriptPath

Functioncall:

string reaper_script_path = ultraschall.GetReaperScriptPath()

Description:
Returns path to Reaper's script-folder

Returnvalues:
 string reaper_script_path the path of the scripts-folder of Reaper 



^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetReaperColorThemesPath

Functioncall:

string reaper_colorthemes_path = ultraschall.GetReaperColorThemesPath()

Description:
Returns path to Reaper's color-theme-folder

Returnvalues:
 string reaper_colorthemes_path the path of the color-theme-folder of Reaper 



^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetReaperJSFXPath

Functioncall:

string reaper_jsfx_path = ultraschall.GetReaperJSFXPath()

Description:
Returns path to Reaper's JSFX-plugin-folder

Returnvalues:
 string reaper_jsfx_path the path of the JSFX-plugin-folder of Reaper 



^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetReaperWebRCPath

Functioncall:

string reaper_webrc_path, string user_webrc_path = ultraschall.GetReaperWebRCPath()

Description:
Returns path to the Web-RC-folder for Reaper as well as for the user-webrc-pages.

Returnvalues:
 string reaper_script_path the path of the JSFX-plugin-folder of Reaper 



^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ CycleTable

Functioncall:

table new_table = ultraschall.CycleTable(table the_table, integer offset)

Description:
Cycles the entries by offset. Offset can be positive(cycle forward) or negative(cycle negative). The number also tells the function, by how many entries the table shall be cycled, with 1 for one entry, 2 for 2 entries, etc.
Entries "falling out" of one side(top or bottom) of the table will be readded on the other side.

returns nil in case of error

Returnvalues:
 table new_table the altered table 

Parameters:
 table the_table the table to cycle through 
 integer offset the offset, by which to cycle the entries through; positive, cycle entries forward; negative, cycle entries backward 


^ Reaper version 5.941Ultraschall version 4.00Lua version 5.3 ^ SplitStringAtNULLBytes

Functioncall:

integer count, array split_strings = ultraschall.SplitStringAtNULLBytes(string splitstring)

Description:
Splits splitstring into individual string at NULL-Bytes.

returns -1 in case of an error

Returnvalues:
 integer count the number of found strings 
 array split_strings the found strings put into an array 

Parameters:
 string splitstring the string with NULL-Bytes(\0) into it, that you want to split 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ RunBackgroundHelperFeatures

Functioncall:

ultraschall.RunBackgroundHelperFeatures(boolean switch_on)

Description:
Starts background-scripts supplied with the Ultraschall-API, like:

- a script for getting the last edit-cursor-position before the current one -> GetLastCursorPosition()
- a script for getting the last playstate before the current one -> GetLastPlayState()
- a script for getting the last loopstate before the current one -> GetLastLoopState()


Parameters:
 boolean switch_on true, start the background-scripts/start unstarted background-helper-scripts; false, stop all background-helper-scripts 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ Main_OnCommandByFilename

Functioncall:

boolean retval, string script_identifier = ultraschall.Main_OnCommandByFilename(string filename, string ...)

Description:
Runs a command by a filename. It internally registers the file temporarily as command, runs it and unregisters it again.
This is especially helpful, when you want to run a command for sure without possible command-id-number-problems.

It returns a unique script-identifier for this script, which can be used to communicate with this script-instance.
The started script gets its script-identifier using GetScriptIdentifier.
You can use this script-identifier e.g. as extstate.

Returns false in case of an error

Returnvalues:
 boolean retval true, if running it was successful; false, if not 
 string script_identifier a unique script-identifier, which can be used as extstate to communicate with the started scriptinstance 

Parameters:
 string filename the name and path of the scriptfile to run 
 string ... parameters that shall be passed over to the script 


^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.962Lua version 5.3 ^ MIDI_OnCommandByFilename

Functioncall:

boolean retval, string script_identifier = ultraschall.MIDI_OnCommandByFilename(string filename, optional HWND Midi_EditorHWND, string ...)

Description:
Runs a command by a filename in the MIDI-editor-context. It internally registers the file temporarily as command, runs it and unregisters it again.
This is especially helpful, when you want to run a command for sure without possible command-id-number-problems.

It returns a unique script-identifier for this script, which can be used to communicate with this script-instance.
The started script gets its script-identifier using GetScriptIdentifier.
You can use this script-identifier e.g. as extstate.

Returns false in case of an error

Returnvalues:
 boolean retval true, if running it was successful; false, if not 
 string script_identifier a unique script-identifier, which can be used as extstate to communicate with the started scriptinstance 

Parameters:
 HWND Midi_EditorHWND the window-handler of the MIDI-editor, in which to run the script; nil, for the last active MIDI-editor 
 string filename the name plus path of the scriptfile to run 
 string ... parameters, that shall be passed over to the script 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ GetScriptParameters

Functioncall:

integer num_params, array params, string caller_script_identifier = ultraschall.GetScriptParameters(optional string script_identifier, optional boolean remove)

Description:
Gets the parameters stored for a specific script_identifier.

returns -1 in case of an error

Returnvalues:
 integer num_params the number of parameters available 
 array params the values of the parameters as an array 
 string caller_script_identifier the scriptidentifier of the script, that set the parameters 

Parameters:
 optional string script_identifier the script-identifier, whose parameters you want to retrieve;
use nil, to get the parameters stored for the current script 
 optional boolean remove true or nil, remove the stored parameter-extstates; false, keep them for later retrieval 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ SetScriptParameters

Functioncall:

boolean retval, string script_identifier = ultraschall.SetScriptParameters(string script_identifier, string ...)

Description:
Sets the parameters stored for a specific script_identifier.

Returnvalues:
 boolean retval true, storing was successful 
 string script_identifier the script_identifier, whose parameters have been set 

Parameters:
 string script_identifier the script-identifier, whose parameters you want to retrieve;
use nil, to set the parameters stored for the current script 
 string ... the parameters you want to set; there can be more than one, but they must be strings 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ GetScriptReturnvalues

Functioncall:

integer num_params, array retvals = ultraschall.GetScriptReturnvalues(string sender_script_identifier, optional boolean remove)

Description:
Gets the return-values which a specific sender_script_identifier sent to the current script.

If you have started numerous child-scripts and want to know, which child-script sent you return-values, see GetScriptReturnvalues_Sender

returns -1 in case of an error

Returnvalues:
 integer num_retvals the number of return-values available 
 array params the values of the return-values as an array 

Parameters:
 string sender_script_identifier the script-identifier, that sent the return-values to your script 
 optional boolean remove true or nil, remove the stored retval-extstates; false, keep them for later retrieval 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ SetScriptReturnvalues

Functioncall:

boolean retval = ultraschall.SetScriptReturnvalues(string script_identifier, string ...)

Description:
Send return-values back to the script, that has a specific script_identifier.

returns false in case of an error

Returnvalues:
 boolean retval true, storing was successful; false, there was an error 

Parameters:
 string script_identifier the script-identifier of the script-instance, to where you want to send the returnvalues  
 string ... the returnvalues you want to set; there can be more than one, but they must be strings 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ GetScriptReturnvalues_Sender

Functioncall:

integer count, array retval_sender = ultraschall.GetScriptReturnvalues_Sender()

Description:
Retrieves, which scripts sent returnvalues to the current script.

Returnvalues:
 integer count the number of scripts, who have left returnvalues for the current script 
 array retval_sender the ScriptIdentifier of the scripts, who returned values 



^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ Base64_Encoder

Functioncall:

string encoded_string = ultraschall.Base64_Encoder(string source_string, optional integer base64_type, optional integer remove_newlines, optional integer remove_tabs)

Description:
Converts a string into a Base64-Encoded string.
Currently, only standard Base64-encoding is supported.

Returns nil in case of an error

Returnvalues:
 string encoded_string the encoded string 

Parameters:
 string source_string the string that you want to convert into Base64 
 optional integer base64_type the Base64-decoding-style
nil or 0, for standard default Base64-encoding 
 optional integer remove_newlines 1, removes \n-newlines(including \r-carriage return) from the string
2, replaces \n-newlines(including \r-carriage return) from the string with a single space 
 optional integer remove_tabs 1, removes \t-tabs from the string
2, replaces \t-tabs from the string with a single space 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ Base64_Decoder

Functioncall:

string decoded_string = ultraschall.Base64_Decoder(string source_string, optional integer base64_type)

Description:
Converts a Base64-encoded string into a normal string.
Currently, only standard Base64-encoding is supported.

Returns nil in case of an error

Returnvalues:
 string decoded_string the decoded string 

Parameters:
 string source_string the Base64-encoded string 
 optional integer base64_type the Base64-decoding-style
nil or 0, for standard default Base64-encoding 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ StateChunkLayouter

Functioncall:

string layouted_statechunk = ultraschall.StateChunkLayouter(string statechunk)

Description:
Layouts StateChunks as returned by GetTrackStateChunk or GetItemStateChunk into a format that resembles the formatting-rules of an rpp-file.
This is very helpful, when parsing such a statechunk, as you can now use the number of spaces used for intendation as help parsing.
Usually, every new element, that starts with < will be followed by none or more lines, that have two spaces added in the beginning.
Example of a MediaItemStateChunk(I use . to display the needed spaces in the beginning of each line):

<ITEM
..POSITION 6.96537864205337
..SNAPOFFS 0
..LENGTH 1745.2745
..LOOP 0
..ALLTAKES 0
..FADEIN 1 0.01 0 1 0 0
..FADEOUT 1 0.01 0 1 0 0
..MUTE 0
..SEL 1
..IGUID {020E6372-97E6-4066-9010-B044F67F2772}
..IID 1
..NAME myaudio.flac
..VOLPAN 1 0 1 -1
..SOFFS 0
..PLAYRATE 1 1 0 -1 0 0.0025
..CHANMODE 0
..GUID {79F087CE-49E8-4212-91F5-8487FBCF10B1}
..<SOURCE FLAC
....FILE "C:\Users\meo\Desktop\X_Karo_Lynn-Interview.flac"
..>
>


This function will not check, if you've passed a valid statechunk!

returns nil in case of an error

Returnvalues:
 string layouted_statechunk the statechunk, that is now layouted to the rules of rpp-projectfiles 

Parameters:
 string statechunk a statechunk, that you want to layout properly 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ ReverseEndianess_Byte

Functioncall:

integer newbyte = ultraschall.ReverseEndianess_Byte(integer byte)

Description:
reverses the endianess of a byte and returns this as value.
The parameter byte must be between 0 and 255!

returns nil in case of an error

Returnvalues:
 integer newbyte the endianess-reversed byte 

Parameters:
 integer byte the integer whose endianess you want to reverse 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ ConvertIntegerToBits

Functioncall:

string bitvals_csv, table bitvalues = ultraschall.ConvertIntegerToBits(integer integer)

Description:
converts an integer-value(up to 64 bits) into it's individual bits and returns it as comma-separated csv-string as well as a table with 64 entries.

returns nil in case of an error

Returnvalues:
 string bitvals_csv a comma-separated csv-string of all bitvalues, with bit 1 coming first and bit 32 coming last 
 table bitvalues a 64-entry table, where each entry contains the bit-value of integer; first entry for bit 1, 64th entry for bit 64 

Parameters:
 integer integer the integer-number to separated into it's individual bits 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ ConvertBitsToInteger

Functioncall:

integer integervalue = ultraschall.ConvertBitsToInteger(table bitvalues)

Description:
converts a table with all bitvalues into it's integer-representation.
each table-entry holds either a 1 or a 0;
  with index 1 being the first (for 1),
  index 2 for the second (for 2),
  index 3 for the third (for 4),
  index 4 for the fourth(for 8), etc

returns nil in case of an error

Returnvalues:
 integer integer the integer-number converted from the integer-entries 

Parameters:
 table bitvalues a table, where each entry contains the bit-value of integer; first entry for bit 1, 64th entry for bit 64, etc 


^ Reaper version 5.965Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetSetIntConfigVar

Functioncall:

boolean retval, integer config_var_value = ultraschall.GetSetIntConfigVar(string varname, boolean set, optional boolean bit1, ..., optional boolean bit32)

Description:
Gets/Sets an integer-bitfield of an integer-configvariable.

Pass to it a varname, if it shall be set or gotten from and up to 32 parameters who specify, if that bit shall be set(true) or not(false) or the currently set value shall be used(nil)

See Reaper_Config_Variables.html for more details on config-variables in Reaper.

returns false in case of an error

Returnvalues:
 boolean retval true, getting/setting the config-var was successful; false, it wasn't successful 
 integer config_var_value the new/current value of the configuration-variable 

Parameters:
 string varname the name of the config-variable 
 boolean set true, set this config-var; false, don't set it 
 optional boolean bit1 true, set this bit; false, don't set this bit; nil, use the currently set value
true, set this bit; false, don't set this bit; nil, use the currently set value 
 optional boolean bit32 true, set this bit; false, don't set this bit; nil, use the currently set value 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ GetScriptIdentifier

Functioncall:

string script_identifier = ultraschall.GetScriptIdentifier()

Description:
The Ultraschall-API gives any script, that uses the API, a unique identifier generated when the script is run.
This identifier can be used to communicate with this script. If you start numerous instances of a script, it will create for each instance
its own script-identifier, so you can be sure, that you communicate with the right instance.

The identifier is of the format "ScriptIdentifier:scriptfilename-{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}.ext", where the {}-part is a guid and ext either .lua .py or .eel

Defer1 to Defer20 make use of this to stop a running defer-loop from the outside of a deferred-script.

Returnvalues:
 string script_identifier a unique script-identifier for this script-instance, of the format:
ScriptIdentifier: scriptfilename-guid 



^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ ReplacePartOfString

Functioncall:

string replaced_string = ultraschall.ReplacePartOfString(string originalstring, string insertstring, integer offset, optional integer length)

Description:
replaces a part of a string with a second string

Returns nil in case of an error

Returnvalues:
 string replaced_string the altered string 

Parameters:
 string originalstring the originalstring, in which you want to insert the string 
 string insertstring the string that shall be inserted 
 integer offset the position, at which to insert the string; it is the position BEFORE the position at which to insert, so if you want to replace the 25th character, offset is 24! 
 optional integer length the length of the part of the originalstring that shall be replaced, counted from offset. 0 or nil for simple insertion. 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ SearchStringInString

Functioncall:

integer count, array posarray = ultraschall.SearchStringInString(string fullstring, string searchstring)

Description:
Searches for the string searchstring in fullstring.

Keep in mind: Umlauts may produce multibyte-values. Therefore, the returned offsets might be confusing.

returns -1 in case of error, 0 if string wasn't found

Returnvalues:
 integer count the number of found occurences of searchstring in fullstring 
 array posarray an array that contains the positions, where searchstring was found within fullstring 

Parameters:
 string fullstring the string to be searched through 
 string searchstring the string to search for within fullstring 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ MKVOL2DB

Functioncall:

number db_value = ultraschall.MKVOL2DB(number mkvol_value)

Description:
Converts an MKVOL-value into a dB-value.

MKVOL-values are used by the routing-functions for HWOut/AUXSendReceive, specifically for their volume-value as these can't be converted using Reaper's own DB2SLIDER or SLIDER2DB, so this function should help you.

This function is an adapted one from the function provided in Plugins/reaper_www_root/main.js

See DB2MKVOL to convert a dB-value into it's MKVOL-representation

returns nil in case of an error

Returnvalues:
 number db_value the dB-value, converted from the MKVOL-value; minimum -144dB 

Parameters:
 number mkvol_value the mkvol_value, that you want to convert into dB 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ DB2MKVOL

Functioncall:

number mkvol_value = ultraschall.DB2MKVOL(number db_value)

Description:
Converts an dB-value into a MKVOL-value.

MKVOL-values are used by the routing-functions for HWOut/AUXSendReceive, specifically for their volume-value as these can't be converted using Reaper's own DB2SLIDER or SLIDER2DB, so this function should help you.

See MKVOL2DB to convert a MKVOL-value into it's dB-representation

returns nil in case of an error

Returnvalues:
 number mkvol_value the mkvol-value, converted from the dB-value 

Parameters:
 number db_value the dB-value, that you want to convert into the MKVOL-value; minimum is -144dB 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ ConvertIntegerIntoString2

Functioncall:

string converted_value = ultraschall.ConvertIntegerIntoString2(integer Size, integer integervalue_1, ..., integer integervalue_n)

Description:
Splits numerous integers into its individual bytes and converts them into a string-representation.
Maximum 32bit-integers are supported.

Returns nil in case of an error.

Returnvalues:
 string converted_value the string-representation of the integer 

Parameters:
 integer Size the maximum size of the integer to convert, 1(8 bit) to 4(32 bit) 
 integer integervalue_1 the first integer value to convert from
 
 integer integervalue_n the last integer value to convert from 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ ConvertStringToIntegers

Functioncall:

integer num_integers, array individual_integers = ultraschall.ConvertStringToIntegers(string String, integer Size)

Description:
Converts a string into its integer-representation. Allows you to set the size of the integers between 1 Byte and 8 Bytes(64 bits).

Returns -1 in case of an error.

Returnvalues:
 integer num_integers the number of integers converted from this string 
 array individual_integers the individual integers, as converted from the original string 

Parameters:
 string String the string to convert into its integer representation 
 integer Size the size of the integers. 1 for 8 bits, 2 for 16 bits, ..., 8 for 64 bits 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ SetScriptIdentifier_Description

Functioncall:

integer retval = ultraschall.SetScriptIdentifier_Description(string description)

Description:
The Ultraschall-API gives any script, that uses the API, a unique identifier generated when the script is run.
This identifier can be used to communicate with this script. If you start numerous instances of a script, it will create for each instance
its own script-identifier, so you can be sure, that you communicate with the right instance.

With this function, you can set its description, that is less cryptic than the ScriptIdentifier itself.

You can get it using GetScriptIdentifier_Description.

returns -1 in case of an error

Returnvalues:
 integer retval -1 in case of an error 

Parameters:
 string description the new description of your script 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ GetScriptIdentifier_Description

Functioncall:

string script_identifier_description = ultraschall.GetScriptIdentifier_Description()

Description:
The Ultraschall-API gives any script, that uses the API, a unique identifier generated when the script is run.
This identifier can be used to communicate with this script. If you start numerous instances of a script, it will create for each instance
its own script-identifier, so you can be sure, that you communicate with the right instance.

With this function, you can get its description, that is less cryptic than the ScriptIdentifier itself.

You can set it using SetScriptIdentifier_Description.

Returnvalues:
 string script_identifier_description the description of your script 



^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ SetScriptIdentifier_Title

Functioncall:

integer retval = ultraschall.SetScriptIdentifier_Title(string title)

Description:
The Ultraschall-API gives any script, that uses the API, a unique identifier generated when the script is run.
This identifier can be used to communicate with this script. If you start numerous instances of a script, it will create for each instance
its own script-identifier, so you can be sure, that you communicate with the right instance.

With this function, you can set its title, that is less cryptic than the ScriptIdentifier itself.
No \n-newlines, \r-carriag returns or \0-nullbytes are allowed and will be removed

You can get it using GetScriptIdentifier_Title.

returns -1 in case of an error

Returnvalues:
 integer retval -1 in case of an error 

Parameters:
 string title the new title of your script 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ GetScriptIdentifier_Title

Functioncall:

string script_identifier_title = ultraschall.GetScriptIdentifier_Title()

Description:
The Ultraschall-API gives any script, that uses the API, a unique identifier generated when the script is run.
This identifier can be used to communicate with this script. If you start numerous instances of a script, it will create for each instance
its own script-identifier, so you can be sure, that you communicate with the right instance.

With this function, you can get its description, that is less cryptic than the ScriptIdentifier itself.

Default is the script's filename.

You can set it using SetScriptIdentifier_Title.

Returnvalues:
 string script_identifier_title the title of your script; default is the filename of the script 



^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ ResetProgressBar

Functioncall:

ultraschall.ResetProgressBar()

Description:
Resets the initial-values of the progressbar. Should be called, if you want to start a new progressbar after you filled up the former one, or you may have update-issues.




^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ PrintProgressBar

Functioncall:

boolean retval, string ProgressString, integer percentage, integer progress_position = ultraschall.PrintProgressBar(boolean show, integer length, integer maximumvalue, integer currentvalue, boolean percentage, integer offset, optional string toptext, optional string bottomtext)

Description:
Calculate a simple progressbar, which can be optionally displayed in the ReaScript console; Will clear the console before displaying the next updated progressbar.

Will update it only, if the current-value of last time this function got called is different from the current one or toptext or bottomtext changed.

You can also use the returnvalues to draw your own progressbar, e.g. in a gfx.init-window

If you need to calculate a new progressbar, after the former got to 100%, it is wise to call ResetProgressBar, or it might not update the first time you call this function.

Returns false in case of an error

Returnvalues:
 boolean retval true, displaying was successful; false, displaying wasn't successful 
 string ProgressString the progressbar including its full statuses and layout 
 integer percentage the progression of the progressbar in percent 
 integer progress_position the current progress-position, relative to length and maximumvalue 

Parameters:
 boolean show true, show progressbar in the ReaScript-console; false, don't show it there 
 integer length the length of the progressbar in characters. Minimum is 10. 
 integer maximumvalue the maximum integer-value, to which to count; minimum 1 
 integer currentvalue the current integer-value, at which we are with counting, minimum 0 
 boolean percentage true, show percentage in progressbar; false, show only progressbar 
 integer offset an offset to be added before the progressbar, so you can indent it 
 optional string toptext an optional string, that shall be displayed above the progressbar 
 optional string bottomtext an optional string, that shall be displayed below the progressbar 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ StoreFunctionInExtState

Functioncall:

boolean retval = ultraschall.StoreFunctionInExtState(string section, string key, function func, boolean debug)

Description:
Stores a function into an extstate. You can store it's debug-information as well.

To load the function again, use LoadFunctionFromExtState

Returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, it was unsuccessful 

Parameters:
 string section the sectionname of the extstate 
 string key the keyname of the extstate 
 function func the function, that you want to store 
 boolean debug true, store debug-values as well; false, don't store the debug-values as well 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ LoadFunctionFromExtState

Functioncall:

function function = ultraschall.LoadFunctionFromExtState(string section, string key)

Description:
Loads a function from an extstate, if it has been stored in there before.
The extstate must contain a valid function. If something else is stored, the loaded "function" might crash Lua!

To store the function, use StoreFunctionInExtState

Returns false in case of an error

Returnvalues:
 function func the stored function, that you want to (re-)load 

Parameters:
 string section the sectionname of the extstate 
 string key the keyname of the extstate 


^ Reaper version 5.977Ultraschall version 4.00Lua version 5.3 ^ ConvertHex2Ascii

Functioncall:

string ascii_string = ultraschall.ConvertHex2Ascii(string hexstring)

Description:
converts a hexstring into an ascii-string.

Will combine two hexvalues into one byte, until the whole string is converted.

See ConvertAscii2Hex to convert a string into its HEX-representation.

Returns nil in case of an error

Returnvalues:
 string ascii_string the converted string 

Parameters:
 string hexstring the original string with only hexadecimal numbers  


^ Reaper version 5.977Ultraschall version 4.00Lua version 5.3 ^ ConvertAscii2Hex

Functioncall:

string hexstring = ultraschall.ConvertAscii2Hex(string ascii_string)

Description:
converts an ascii-string into a hexstring.

See ConvertHex2Ascii to convert a HEX-string into its normal string-representation.

Returns nil in case of an error

Returnvalues:
 string hexstring the original string with only hexadecimal numbers  

Parameters:
 string ascii_string the converted string 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ get_action_context_MediaItemDiff

Functioncall:

MediaItem MediaItem, MediaItem_Take MediaItem_Take, MediaItem MediaItem_unlocked, boolean Item_moved, number StartDiffTime, number EndDiffTime, number LengthDiffTime, number OffsetDiffTime = ultraschall.get_action_context_MediaItemDiff(optional boolean exlude_mousecursorsize, optional integer x, optional integer y)

Description:
Returns the currently clicked MediaItem, Take as well as the difference of position, end, length and startoffset since last time calling this function.
Good for implementing ripple-drag/editing-functions, whose position depends on changes in the currently clicked MediaItem.
Repeatedly call this (e.g. in a defer-cycle) to get all changes made, during dragging position, length or offset of the MediaItem underneath mousecursor.

This function takes into account the size of the start/end-drag-mousecursor, that means: if mouse-position is within 3 pixels before start/after end of the item, it will get the correct MediaItem.
This is a workaround, as the mouse-cursor changes to dragging and can still affect the MediaItem, even though the mouse at this position isn't above a MediaItem anymore.
To be more strict, set exlude_mousecursorsize to true. That means, it will only detect MediaItems directly beneath the mousecursor. If the mouse isn't above a MediaItem, this function will ignore it, even if the mouse could still affect the MediaItem.
If you don't understand, what that means: simply omit exlude_mousecursorsize, which should work in almost all use-cases. If it doesn't work as you want, try setting it to true and see, whether it works now.    

Returnvalues:
 MediaItem MediaItem the MediaItem at the current mouse-position; nil if not found 
 MediaItem_Take MediaItem_Take the MediaItem_Take underneath the mouse-cursor 
 MediaItem MediaItem_unlocked if the MediaItem isn't locked, you'll get a MediaItem here. If it is locked, this retval is nil 
 boolean Item_moved true, the item was moved; false, only a part(either start or end or offset) of the item was moved 
 number StartDiffTime if the start of the item changed, this is the difference;
   positive, the start of the item has been changed towards the end of the project
   negative, the start of the item has been changed towards the start of the project
   0, no changes to the itemstart-position at all 
 number EndDiffTime if the end of the item changed, this is the difference;
   positive, the end of the item has been changed towards the end of the project
   negative, the end of the item has been changed towards the start of the project
   0, no changes to the itemend-position at all 
 number LengthDiffTime if the length of the item changed, this is the difference;
   positive, the length is longer
   negative, the length is shorter
   0, no changes to the length of the item 
 number OffsetDiffTime if the offset of the item-take has changed, this is the difference;
   positive, the offset has been changed towards the start of the project
   negative, the offset has been changed towards the end of the project
   0, no changes to the offset of the item-take
Note: this is the offset of the take underneath the mousecursor, which might not be the same size, as the MediaItem itself!
So changes to the offset maybe changes within the MediaItem or the start of the MediaItem!
This could be important, if you want to affect other items with rippling. 

Parameters:
 optional boolean exlude_mousecursorsize false or nil, get the item underneath, when it can be affected by the mouse-cursor(dragging etc): when in doubt, use this
true, get the item underneath the mousecursor only, when mouse is strictly above the item,
       which means: this ignores the item when mouse is not above it, even if the mouse could affect the item 
 optional integer x nil, use the current x-mouseposition; otherwise the x-position in pixels 
 optional integer y nil, use the current y-mouseposition; otherwise the y-position in pixels 


^ Reaper version 5.977Ultraschall version 4.00SWS version 2.10.0.1Lua version 5.3 ^ GetAllActions

Functioncall:

integer number_of_actions, table actiontable = ultraschall.GetAllActions(integer section)

Description:
Returns all actions and accompanying attributes from a specific section as a handy table

The table is of the following format:

actiontable[index]["commandid"] - the command-id-number of the action
actiontable[index]["actioncommandid"] - the action-command-id-string of the action, if it's a named command(usually scripts or extensions), otherwise empty string
actiontable[index]["name"] - the name of command
actiontable[index]["scriptfilename"] - the filename+path of a command, that is a ReaScript, otherwise empty string
actiontable[index]["termination"] - the termination-state of the action
-1 - not available
4 - Dialogwindow appears(Terminate, New Instance, Abort), if another instance of a given script is started, that's already running
260 - always Terminate All(!) Instances, if you try to run another instance of a script, that's already running. When no instance is running, it simply starts the script.
516 - always start a New Instance of the script, that's already running
actiontable[index]["consolidate"] - the consolidate-state of custom actions; 1 consolidate undo points, 2 show in Actions-Menu, 3 consolidate undo points AND show in Actions Menu; -1, if not available
actiontable[index]["actiontype"] - the type of the action; "native action", "extension action", "custom action", "script"

returns -1 in case of an error.

Returnvalues:
 integer number_of_actions the number of actions found; -1 in case of an error 
 table actiontable a table, which holds all attributes of an action(see description for more details) 

Parameters:
 integer sections the section, whose actions you want to retrieve
0, Main=0
1, invisible actions(shown but not runnable actions)
100, Main (alt recording)
32060, MIDI Editor=32060
32061, MIDI Event List Editor
32062, MIDI Inline Editor
32063, Media Explorer=32063 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ IsWithinTimeRange

Functioncall:

boolean retval = ultraschall.IsWithinTimeRange(number time, number start, number stop)

Description:
returns if time is between(including) start and stop.

returns false in case of an error

Returnvalues:
 boolean retval true, time is between start and stop; false, it isn't 

Parameters:
 number time the time in seconds, to check for 
 number start the starttime in seconds, within to check for 
 number stop the endtime in seconds, within to check for 


^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.963Lua version 5.3 ^ MediaExplorer_OnCommand

Functioncall:

boolean retval = ultraschall.MediaExplorer_OnCommand(integer actioncommandid)

Description:
runs a Media Explorer-associated action.
Note: Can only run Reaper's native actions currently(all actions having a number as actioncommandid), not scripts!

returns false if Media Explorer is closed

Returnvalues:
 boolean retval true, could update run the action in the Media Explorer; false, couldn't run it 



^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.963Lua version 5.3 ^ UpdateMediaExplorer

Functioncall:

boolean retval = ultraschall.UpdateMediaExplorer()

Description:
updates the listview of the Media Explorer.

returns false if Media Explorer is closed

Returnvalues:
 boolean retval true, could update the listview of the Media Explorer; false, couldn't update the listview 



^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ FindPatternsInString

Functioncall:

integer count_found_items, array found_items = ultraschall.FindPatternsInString(string SourceString, string pattern, boolean sort_after_finding)

Description:
Finds all occurrences of matching-patterns in a string. You can sort them optionally.

returns -1 in case of an error

Returnvalues:
 integer count_found_items the number of found items in the string; -1, in case of an error 
 array found_items all occurrences found in the string as an array 

Parameters:
 string SourceString the source-string to search for all occurences 
 string pattern the matching-pattern, with which to search for in the string 
 boolean sort_after_finding true, sorts the entries; false, doesn't sort the entries 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ RunLuaSourceCode

Functioncall:

boolean retval = ultraschall.RunLuaSourceCode(string code)

Description:
runs the Lua-code stored in the parameter code

Does not check for validity and syntaxerrors in the code!

You can also add new callable functions that way. Just put function-declarations in the parameter code.

For instance from the following code:

code=function main()
reaper.MB("I'm only run, when my parent function main is called", "", 0)
end

reaper.MB("I'm run immediately", "", 0)"

when called by

ultraschall.RunLuaSourceCode(code)

only the line reaper.MB("I'm run immediately", "", 0) will be run immediately.
If you want to run the function main as well, you need to explicitly call it with main()

returns false in case of an error; nil, in case of an syntax/lua-error in the code itself

Returnvalues:
 boolean retval true, code was run successfully; false, code wasn't successfully; nil, code had an error in it, probably syntax error 

Parameters:
 string code the code, that you want to execute; you can also add new functions that way 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ Main_OnCommand_LuaCode

Functioncall:

boolean retval, string script_identifier = ultraschall.Main_OnCommand_LuaCode(string Code, string ...)

Description:
Runs LuaCode as new temporary script-instance. It internally registers the code as a file temporarily as command, runs it and unregisters it again.
This is especially helpful, when you want to run a command for sure without possible command-id-number-problems.

It returns a unique script-identifier for this script, which can be used to communicate with this script-instance.
The started script gets its script-identifier using GetScriptIdentifier.
You can use this script-identifier e.g. as extstate.

Returns false in case of an error

Returnvalues:
 boolean retval true, if running it was successful; false, if not 
 string script_identifier a unique script-identifier, which can be used as extstate to communicate with the started code 

Parameters:
 string Code the Lua-code, which shall be run; will not be checked vor validity! 
 string ... parameters that shall be passed over to the script 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ ReplacePatternInString

Functioncall:

string altered_string, boolean replaced = ultraschall.ReplacePatternInString(string OriginalString, string pattern, string replacestring, integer index)

Description:
Replaces the index'th occurrence of pattern in OriginalString with replacepattern.

Unlike string.gsub, this replaces only the selected pattern!

returns nil, false in case of an error

Returnvalues:
 string altered_string the altered string, where the n'th occurence of the pattern has been replaced 
 boolean replaced true, there has been a replacement; false, no replacement has happened 

Parameters:
 string OriginalString the string, from which you want to replace a specific occurence of a matching pattern 
 string pattern the pattern to look for 
 string replacestring the string, which shall replace the found pattern 
 integer index the number of found occurence of the pattern in the string, which shall be replaced 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ ConvertFunction_ToBase64String

Functioncall:

string BASE64_functionstring = ultraschall.ConvertFunction_ToBase64String(function to_convert_function, boolean debug)

Description:
Converts a function into a BASE64-string.

To load a function from a BASE64-string, use ConvertFunction_FromBase64String

Returns nil in case of an error

Returnvalues:
 string BASE64_functionstring the function, stored as BASE64-string 

Parameters:
 function to_convert_function the function, that you want to convert 
 boolean debug true, store debug-information as well; false, only store function 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ ConvertFunction_FromBase64String

Functioncall:

function function = ultraschall.ConvertFunction_FromBase64String(string BASE64_functionstring)

Description:
Loads a function from a BASE64-string.

To convert a function into a BASE64-string, use ConvertFunction_ToBase64String

Returns nil in case of an error

Returnvalues:
 function func the loaded function 

Parameters:
 string BASE64_functionstring the function, stored as BASE64-string 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ ConvertFunction_ToHexString

Functioncall:

string HEX_functionstring = ultraschall.ConvertFunction_ToHexString(function to_convert_function, boolean debug)

Description:
Converts a function into a HEX-string.

To load a function from a HEX-string, use ConvertFunction_FromHexString

Returns nil in case of an error

Returnvalues:
 string HEX_functionstring the function, stored as HEX-string 

Parameters:
 function to_convert_function the function, that you want to convert 
 boolean debug true, store debug-information as well; false, only store function 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ ConvertFunction_FromHexString

Functioncall:

function function = ultraschall.ConvertFunction_FromHexString(string HEX_functionstring)

Description:
Loads a function from a HEX-string.

To convert a function into a HEX-string, use ConvertFunction_ToHexString

Returns nil in case of an error

Returnvalues:
 function func the loaded function 

Parameters:
 string HEX_functionstring the function, stored as HEX-string 


^ Reaper version 5.975Ultraschall version 4.1Lua version 5.3 ^ Benchmark_GetStartTime

Functioncall:

number starttime = ultraschall.Benchmark_GetStartTime(optional integer slot)

Description:
This function is for benchmarking parts of your code.
It returns the starttime of the last benchmark-start.

returns nil, if no benchmark has been made yet.

Use Benchmark_MeasureTime to start/reset a new benchmark-measureing.

Returnvalues:
 number starttime the starttime of the currently running benchmark 

Parameters:
 optional integer slot the slot, whose starttime you want to get 


^ Reaper version 5.975Ultraschall version 4.1Lua version 5.3 ^ Benchmark_GetAllStartTimesAndSlots

Functioncall:

number starttime = ultraschall.Benchmark_GetStartTime()

Description:
This function is for benchmarking parts of your code.
It returns a table with all starttimes of all current benchmark-measurings. The index of the table reflects the slots.

Use Benchmark_MeasureTime to start/reset a new benchmark-measureing.

Returnvalues:
 table starttime_slots a table with all starttimes of all current benchmark-measurings, where the index reflects the slots 



^ Reaper version 5.975Ultraschall version 4.1Lua version 5.3 ^ Benchmark_MeasureTime

Functioncall:

number elapsed_time, string elapsed_time_string, string measure_evaluation = ultraschall.Benchmark_MeasureTime(optional integer time_mode, optional boolean reset, optional integer slot)

Description:
This function is for benchmarking parts of your code.
It returns the passed time, since last time calling this function.

Use Benchmark_GetStartTime to start the benchmark.

Returnvalues:
 number elapsed_time the elapsed time in seconds 
 string elapsed_time_string the elapsed time, formatted by parameter time_mode 
 string measure_evaluation an evaluation of time, mostly starting with < or > an a number of +
0, no time passed
>, for elapsed times greater than 1, the following + will show the number of integer digits; example: 12.927 -> ">++"
<, for elapsed times smaller than 1, the following + will show the number of zeros+1 in the fraction, until the first non-zero-digit appears; example: 0.0063 -> "<+++" 

Parameters:
 optional integer time_mode the formatting of elapsed_time_string
0=time
1=measures.beats + time
2=measures.beats
3=seconds
4=samples
5=h:m:s:f 
 optional boolean reset true, resets the starttime(for new measuring); false, keeps current measure-starttime(for continuing measuring) 
 optional integer slot if you want to have multiple benchmark-measures at the same time, you can store them in different slots.
means, you can measure in slot 1 and slot 2, where you can occasionally reset slot 1 while having continuous measuring in slot 2.
this allows you to measure the execution time of the whole script(slot 2) and certain parts of the script on individual basis(slot 1).
you can use as many slots, as you want.
nil, default slot is 0 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ TimeToMeasures

Functioncall:

number measure = ultraschall.TimeToMeasures(ReaProject project, number Time)

Description:
a function which converts a time into current projects time-measures
only useful, when there are no tempo-changes in the project

returns nil in case of an error

Returnvalues:
 number measure the measures, that parameter time needs to be reflected 

Parameters:
 ReaProject project ReaProject to use the timesignature-settings from 
 number time in seconds, the time to convert into a time-measurment, which can be
used in config-variable "prerollmeas" 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ Create2DTable

Functioncall:

table 2dtable = ultraschall.Create2DTable(integer maxx, integer maxy, optional anytype defval)

Description:
creates a 2-dimensional table with x-lines and y-rows, of which all entries are indexable right away.

It also has two additional fields ["x"] and ["y"] who hold the x and y-dimensions of the table you've set for later reference.

returns nil in case of an error

Returnvalues:
 table 2dtable the 2d-table you've created 

Parameters:
 integer maxx the number of rows in the table(x-dimension) 
 integer maxy the number of lines in the table(y-dimension) 
 optional anytype defval the default-value to set in each field, can be any type 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ Create3DTable

Functioncall:

table 3dtable = ultraschall.Create3DTable(integer maxx, integer maxy, integer maxz, optional anytype defval)

Description:
creates a 3-dimensional table with x-lines and y-rows and z-depths, of which all entries are indexable right away.

It also has two additional fields ["x"], ["y"] and ["z"] who hold the x, y and z-dimensions of the table you've set for later reference.

returns nil in case of an error

Returnvalues:
 table 3dtable the 3d-table you've created 

Parameters:
 integer maxx the number of rows in the table(x-dimension) 
 integer maxy the number of lines in the table(y-dimension) 
 integer maxz the number of depths in the table(z-dimension) 
 optional anytype defval the default-value to set in each field, can be any type 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ CreateMultiDimTable

Functioncall:

table multidimtable = ultraschall.CreateMultiDimTable(optional anytype defval, optional integer dimension1, optional integer dimension2, ... , optional integer dimensionN)

Description:
creates a multidimensional table

It also adds additional fields ["dimension1"] to ["dimension10"] who hold the number of available entries in this dimension for later reference.

It supports up to 10 dimensions.
Note: the more dimensions, the more memory you need and the longer it takes to create the table.

returns nil in case of an error

Returnvalues:
 table multidimtable the multidimensional-table you've created 

Parameters:
 optional anytype defval the default-value to set in each field, can be any type; set to nil to keep empty 
 integer dimension1 the number of entries in the first dimension of the table 
 integer dimension2 the number of entries in the second dimension of the table 
 integer dimensionN the number of entries in the n'th dimension of the table 


^ Reaper version 6.02Ultraschall version 4.00Julian Sader's plugin version 0.998Lua version 5.3 ^ ResizePNG

Functioncall:

boolean retval = ultraschall.ResizePNG(string filename_with_path, string outputfilename_with_path, boolean aspectratio, integer width, integer height)

Description:
resizes a png-file. It will stretch/shrink the picture by that. That means you can't crop or enhance pngs with this function.

If you set aspectratio=true, then the image will be resized with correct aspect-ratio. However, it will use the value from parameter width as maximum size for each side of the picture.
So if the height of the png is bigger than the width, the height will get the size and width will be shrinked accordingly.

When making pngs bigger, pixelation will occur. No pixel-filtering within this function!

returns false in case of an error

Returnvalues:
 boolean retval true, resizing was successful; false, resizing was unsuccessful 

Parameters:
 string filename_with_path the png-file, that you want to resize 
 string outputfilename_with_path the output-file, where to store the resized png 
 boolean aspectratio true, keep aspect-ratio(use size of param width as base); false, don't keep aspect-ratio 
 integer width the width of the newly created png in pixels 
 integer height the height of the newly created png in pixels 


^ Reaper version 6.02Ultraschall version 4.00Julian Sader's plugin version 0.998Lua version 5.3 ^ CaptureScreenAreaAsPNG

Functioncall:

boolean retval = ultraschall.CaptureScreenAreaAsPNG(string filename_with_path, integer x, integer y, integer w, integer h)

Description:
captures an area of the screen and writes it as png-file.

Note for Mac-users: it doesn't seem to work under certain circumstances, which are still under investigation.

returns false in case of an error

Returnvalues:
 boolean retval true, capturing was successful; false, capturing was unsuccessful 

Parameters:
 string filename_with_path the filename with path of the png-file to write 
 integer x the x-position of the area to capture 
 integer y the y-position of the area to capture 
 integer w the width of the area to capture 
 integer h the height of the area to capture 


^ Reaper version 6.02Ultraschall version 4.00Julian Sader's plugin version 0.998Lua version 5.3 ^ CaptureWindowAsPNG

Functioncall:

boolean retval = ultraschall.CaptureWindowAsPNG(identifier window_or_windowtitle, string filename_with_path, integer x, integer y, integer w, integer h, boolean win10)

Description:
captures a window and stores it as png-file.

Note for Windows-users with no Windows 10:
Keep in mind, that even if you choose a dedicated window, if it's located behind other windows, these might be captured as well.

Note for Mac-users: it doesn't seem to work under certain circumstances, which are still under investigation.

returns false in case of an error

Returnvalues:
 boolean retval true, capturing was successful; false, capturing was unsuccessful 

Parameters:
 identifier window_or_windowtitle either a hwnd or the exact windowtitle of the window, which you want to capture 
 string filename_with_path the filename with path of the output-file 
 integer x the x-position within the window to capture; nil, to use the left side of the window 
 integer y the y-position within the window to capture; nil, to use the top side of the window 
 integer w the width of the capture-area; nil, to use the width of the window 
 integer h the height of the capture-area; nil, to use the height of the window 
 boolean win10 true, use the workaround for invisible window-borders on windows 10; false, just capture the window 


^ Reaper version 6.02Ultraschall version 4.1Julian Sader's plugin version 1.215Lua version 5.3 ^ ResizeJPG

Functioncall:

boolean retval = ultraschall.ResizeJPG(string filename_with_path, string outputfilename_with_path, boolean aspectratio, integer width, integer height, integer quality)

Description:
resizes a jpg-file. It will stretch/shrink the picture by that. That means you can't crop or enhance jpgs with this function.

If you set aspectratio=true, then the image will be resized with correct aspect-ratio. However, it will use the value from parameter width as maximum size for each side of the picture.
So if the height of the jpgis bigger than the width, the height will get the size and width will be shrinked accordingly.

When making jpg bigger, pixelation will occur. No pixel-filtering within this function!

returns false in case of an error

Returnvalues:
 boolean retval true, resizing was successful; false, resizing was unsuccessful 

Parameters:
 string filename_with_path the jpg-file, that you want to resize 
 string outputfilename_with_path the output-file, where to store the resized jpg 
 boolean aspectratio true, keep aspect-ratio(use size of param width as base); false, don't keep aspect-ratio 
 integer width the width of the newly created jpg in pixels 
 integer height the height of the newly created jpg in pixels 
 integer quality the quality of the jpg in percent; 1 to 100 


^ Reaper version 6.02Ultraschall version 4.1Julian Sader's plugin version 1.215Lua version 5.3 ^ ConvertPNG2JPG

Functioncall:

integer count = ultraschall.ConvertPNG2JPG(string filename_with_path, string outputfilename_with_path, integer quality)

Description:
Converts a png to a jpg-imagefile.

returns false in case of an error

Returnvalues:
 boolean retval true, converting was successful; false, converting was unsuccessful 

Parameters:
 string filename_with_path the png-file, that you want to convert into jpg 
 string outputfilename_with_path the output-file, where to store the jpg 
 integer quality the quality of the jpg in percent; 1 to 100 


^ Reaper version 6.02Ultraschall version 4.1Julian Sader's plugin version 1.215Lua version 5.3 ^ ConvertJPG2PNG

Functioncall:

integer count = ultraschall.ConvertJPG2PNG(string filename_with_path, string outputfilename_with_path, integer quality)

Description:
Converts a jpg to a png-imagefile.

returns false in case of an error

Returnvalues:
 boolean retval true, converting was successful; false, converting was unsuccessful 

Parameters:
 string filename_with_path the jpg-file, that you want to store as png 
 string outputfilename_with_path the output-file, where to store the png-file 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ Localize_UseFile

Functioncall:

boolean retval = ultraschall.Localize_UseFile(string filename, string section, string language)

Description:
Sets the localize-file and the section to use in the localize-file.
If file cannot be found, the function will also look into resource-path/LangPack/ as well to find it.

The file is of the format:
;comment
;another comment
[section]
original text=translated text
More Text with\nNewlines and %s - substitution=Translated Text with\nNewlines and %s - substitution
A third\=example with escaped equal\=in it = translated text with escaped\=equaltext

see specs for more information.

returns false in case of an error

Returnvalues:
 boolean retval true, translation-file has been found and set successfully; false, translation-file hasn't been found 

Parameters:
 string filename the filename with path to the translationfile; if no path is given, it will look in resource-folder/LangPack for the translation-file 
 string section the section of the translation-file, from which to read the translated strings 
 string language the language, which will be put after filename and before extension, like mylangpack_de.USLangPack;
us, usenglish
es, spanish
fr, french
de, german
jp, japanese
etc 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ Localize

Functioncall:

string translated_string, boolean retval = ultraschall.Localize(string original_string, ...)

Description:
Translates the string original_string into its translated version, as stored in a translation-file.

To set a translationfile, see Localize_UseFile.

If the string contains %s, the optional parameters "..." will replace them. The order of the parameters is the order of the replacement of the %s in the string.

If no translation is available, it returns the original string. In that case, %s in the string could be replaced by optional parameters ...

This function can be used with or without ultraschall. at the beginning, for your convenience.

see specs for more information.

returns nil in case of an error

Returnvalues:
 string translated_string the translated string; will be the original_string(with optional substitution), if translation is not possible 
 boolean retval true, translation-was successful; false, translation wasn't successful 

Parameters:
 string original_string the original string, that you want to translate
optional parameters, who will be used to substitute %s in the returned string; order of the optional parameters reflects order of %s in the string 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ Localize_RefreshFile

Functioncall:

boolean retval = ultraschall.Localize_RefreshFile()

Description:
Reloads the translation-file, that has been set using Localize_UseFile.

see specs for more information.


Returnvalues:
 boolean retval true, translation-file has been found and set successfully; false, translation-file hasn't been found 



^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ AddNormalMarker

Functioncall:

integer marker_number, string guid = ultraschall.AddNormalMarker(number position, integer shown_number, string markertitle)

Description:
Adds a normal marker. Returns the index of the marker as marker_number.

Normal markers are all markers, that don't include "_Shownote:" or "_Edit" in the beginning of their name, as well as markers with the color 100,255,0(planned chapter).

returns -1 in case of an error

Returnvalues:
 integer marker_number the overall-marker-index, can be used for reaper's own marker-management functions 
 string guid the guid, associated with this marker 

Parameters:
 number position position in seconds. 
 integer shown_number the number, that will be shown within Reaper. Can be multiple times. Use -1 to let Reaper decide the number. 
 string markertitle the title of the marker. 


^ Reaper version 6.19Ultraschall version 4.2Lua version 5.3 ^ AddPodRangeRegion

Functioncall:

integer marker_number, string guid = ultraschall.AddPodRangeRegion(number startposition, number endposition)

Description:
Adds a region, which shows the time-range from the beginning to the end of the podcast.

returns -1 in case of an error

Returnvalues:
 integer marker_number the overall-marker-index, can be used for reaper's own marker-management functions 
 string guid the guid of the PodRangeRegion 

Parameters:
 number startposition begin of the podcast in seconds 
 number endposition end of the podcast in seconds 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetMarkerByName

Functioncall:

integer count_markers, array foundmarkers, array found_guids = ultraschall.GetMarkerByName(string searchname, boolean searchisrgn)

Description:
Get all markers/regions that have a certain name. This function is not case-sensitive.

returns -1 in case of an error

Returnvalues:
 integer count_markers the number of found markers/regions 
 array foundmarkers an array with all marker/region-numbers of the found markers; counts only regions or markers(depending on parameter searchisrgn); markernumbers are 0-based 
 array found_guids the guids of all markers/regions found 

Parameters:
 string searchname the name to look for; must be exact; not case-sensitive 
 boolean searchisrgn true, search only within regions; false, search only within markers 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetMarkerByName_Pattern

Functioncall:

integer count_markers, array foundmarkers, array foundguids = ultraschall.GetMarkerByName_Pattern(string searchname, boolean searchisrgn)

Description:
Get all markers/regions that have a certain character-sequence in their name. This function is not case-sensitive.

returns -1 in case of an error

Returnvalues:
 integer count_markers the number of found markers/regions 
 array foundmarkers an array with all marker/region-numbers of the found markers; counts only regions or markers(depending on parameter searchisrgn) 
 array foundguids the guids of all found markers/regions 

Parameters:
 string searchname the name to look for; a character-sequence that shall be part of the name; not case-sensitive 
 boolean searchisrgn true, search only within regions; false, search only within markers 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetMarkerAndRegionsByIndex

Functioncall:

string name, integer shown_number, integer color, number pos, optional number rgnend, string guid = ultraschall.GetMarkerAndRegionsByIndex(integer idx, boolean searchisrgn)

Description:
Returns the values of a certain marker/region. The numbering of idx is either only for the markers or for regions, depending on what you set with parameter searchisrgn.

returns nil in case of an error

Returnvalues:
 string name the name of the marker/region 
 integer markrgnindexnumber the shown number of the marker/region 
 integer color the color-value of the marker/region 
 number pos the position of the marker/region 
 optional number rgnend the end of the region 
 string guid the guid of the marker/region; if it's a marker, the retval rgnend will be nil! 

Parameters:
 integer idx the number of the requested marker/region; counts only within either markers or regions, depending on what you've set searchisrgn to; 1-based! 
 boolean searchisrgn true, search only within regions; false, search only within markers 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ SetMarkerByIndex

Functioncall:

boolean retval = ultraschall.SetMarkerByIndex(integer idx, boolean searchisrgn, integer shown_number, number position, position rgnend, string name, integer color, integer flags)

Description:
Sets the values of a certain marker/region. The numbering of idx is either only for the markers or for regions, depending on what you set with parameter searchisrgn.

returns false in case of an error

Returnvalues:
 boolean retval true, setting the marker/region was successful; false, setting of the marker/region was unsuccessful. 

Parameters:
 integer idx the number of the requested marker/region; counts only within either markers or regions, depending on what you've set searchisrgn to 
 boolean searchisrgn true, search only within regions; false, search only within markers 
 integer shown_number the shown-number of the region/marker; no duplicate numbers for regions allowed; nil to keep previous shown_number 
 number position the position of the marker/region in seconds; nil to keep previous position 
 position rgnend the end of the region in seconds; nil to keep previous region-end 
 string name the name of the marker/region; nil to keep the previous name 
 integer color color should be 0 to not change, or ColorToNative(r,g,b)|0x1000000; nil to keep the previous color 
 integer flags flags&1 to clear name; 0, keep it; nil to use the previous setting 


^ Reaper version 6.19Ultraschall version 4.2Lua version 5.3 ^ AddEditMarker

Functioncall:

integer marker_number, string guid = ultraschall.AddEditMarker(number position, integer shown_number, string edittitle)

Description:
Adds an Edit marker. Returns the index of the marker as marker_number.

returns -1 in case of an error

Returnvalues:
 integer marker_number the overall-marker-index, can be used for reaper's own marker-management functions 
 string guid the guid, associated with this marker 

Parameters:
 number position position in seconds. 
 integer shown_number the number, that will be shown within Reaper. Can be multiple times. Use -1 to let Reaper decide the number. 
 string edittitle the title of the edit-marker; will be shown as _Edit:edittitle 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountNormalMarkers

Functioncall:

integer number_of_markers = ultraschall.CountNormalMarkers()

Description:
Counts all normal markers.
Normal markers are all markers, that don't include "_Shownote:" or "_Edit" in the beginning of their name, as well as markers with the color 100,255,0(planned chapter).

Returnvalues:
 integer number_of_markers number of normal markers 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountEditMarkers

Functioncall:

integer number_of_edit_markers = ultraschall.CountEditMarkers()

Description:
Counts all edit-markers.

Returnvalues:
 integer number_of_edit_markers number of edit markers 



^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetPodRangeRegion

Functioncall:

number start_position, number end_position, string guid = ultraschall.GetPodRangeRegion()

Description:
Gets the start_position and the end_position of the PodRangeRegion.

returns -1 if no PodRangeRegion exists

Returnvalues:
 number start_position beginning of the podrangeregion, that marks the beginning of the podcast 
 number end_position end of the podrangeregion, that marks the end of the podcast 
 string guid the guid associated with this marker 



^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ EnumerateNormalMarkers

Functioncall:

integer retnumber, integer retidxnum, number position, string markertitle, string guid = ultraschall.EnumerateNormalMarkers(integer number)

Description:
Get the data of a normal marker.
Normal markers are all markers, that don't include "_Shownote:" or "_Edit" in the beginning of their name, as well as markers with the color 100,255,0(planned chapter).

Returns -1 in case of error

Returnvalues:
 integer retnumber overallmarker/regionnumber of marker beginning with 1 for the first marker; ignore the order of first,second,etc creation of
markers but counts from position 00:00:00 to end of project. So if you created a marker at position 00:00:00 and move the first created marker to
the end of the timeline, it will be the last one, NOT the first one in the retval! For use with reaper's own marker-functions. 
 integer retidxnum indexnumber of the marker 
 number position the position of the marker 
 string markertitle the name of the marker 
 string guid the guid of the enumerated marker 

Parameters:
 integer number number of the marker(normal markers only). Refer ultraschall.CountNormalMarkers for getting the number of normal markers. 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ EnumerateEditMarkers

Functioncall:

integer retnumber, integer shown_number, number position, string edittitle, string guid = ultraschall.EnumerateEditMarkers(integer edit_index)

Description:
Gets the data of an edit marker.

returns -1 in case of an error

Returnvalues:
 integer retnumber overallmarker/regionnumber of marker beginning with 1 for the first marker; ignore the order of first,second,etc creation of
markers but counts from position 00:00:00 to end of project. So if you created a marker at position 00:00:00 and move the first created marker to
the end of the timeline, it will be the last one, NOT the first one in the retval! For use with reaper's own marker-functions. 
 integer shown_number indexnumber of the marker 
 number position the position of the marker 
 string edittitle the name of the marker 
 string guid the guid of the editmarker 

Parameters:
 integer edit_index number of the edit-marker. Refer ultraschall.CountEditMarkers for getting the number of edit-markers. 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetAllEditMarkers

Functioncall:

integer number_of_editmarkers, array editmarkersarray = ultraschall.GetAllEditMarkers()

Description:
returns the number of editmarkers and an array with each editmarker in the format:

    editmarkersarray[index][0] - position
    editmarkersarray[index][1] - name
    editmarkersarray[index][2] - idx
    editmarkersarray[index][3] - guid
    

Returnvalues:
 integer number_of_editmarkers the number of editmarkers returned 
 array editmarkersarray an array with all the edit-markers of the project 



^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetAllNormalMarkers

Functioncall:

index number_of_normalmarkers, array normalmarkersarray = ultraschall.GetAllNormalMarkers()

Description:
returns the number of normalmarkers and an array with each normalmarker in the format:

normalmarkersarray[index][0] - position
normalmarkersarray[index][1] - name
normalmarkersarray[index][2] - idx of the marker within all markers in project
normalmarkersarray[index][3] - the shown index number of the marker
normalmarkersarray[index][4] - the guid of the marker


Normal markers are all markers, that don't include "_Shownote:" or "_Edit" in the beginning of their name, as well as markers with the color 100,255,0(planned chapter).

Returnvalues:
 integer number_of_normalmarkers the number of normalmarkers returned 
 array normalmarkersarray an array, that holds all normal markers of the project 



^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetAllMarkers

Functioncall:

integer number_of_all_markers, array allmarkersarray = ultraschall.GetAllMarkers()

Description:
To get all Markers in the project(normal, edit, chapter), regardless of their category.
Doesn't return regions!

returns the number of markers and an array with each marker in the format:

    markersarray[index][0] - position
    markersarray[index][1] - name
    markersarray[index][2] - indexnumber of the marker within all markers in the project
    markersarray[index][3] - the shown index-number
    markersarray[index][4] - the color of the marker
    markersarray[index][5] - the guid of the marker
    

Returnvalues:
 integer number_of_allmarkers the number of markers returned 
 array allmarkersarray an array, that holds all markers(not regions!) of the project 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetNormalMarker

Functioncall:

boolean retval = ultraschall.SetNormalMarker(integer number, number position, integer shown_number, string markertitle)

Description:
Sets values of a normal Marker(no _Chapter:, _Shownote:, etc). Returns true if successful and false if not(i.e. marker doesn't exist)

Normal markers are all markers, that don't include "_Shownote:" or "_Edit" in the beginning of their name, as well as markers with the color 100,255,0(planned chapter).

returns false in case of an error

Returnvalues:
 boolean retval true if successful and false if not(i.e. marker doesn't exist) 

Parameters:
 integer number the number of the normal marker 
 number position position of the marker in seconds 
 integer shown_number the number of the marker 
 string markertitle title of the marker 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetEditMarker

Functioncall:

boolean retval = ultraschall.SetEditMarker(integer edit_index, number position, integer shown_number, string edittitle)

Description:
Sets values of an Edit Marker. Returns true if successful and false if not(i.e. marker doesn't exist)

returns false in case of an error

Returnvalues:
 boolean retval true if successful and false if not(i.e. marker doesn't exist) 

Parameters:
 integer edit_index the number of the edit marker 
 number position position of the marker in seconds 
 integer shown_number the number of the marker 
 string markertitle title of the marker 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetPodRangeRegion

Functioncall:

integer retval = ultraschall.SetPodRangeRegion(number startposition, number endposition)

Description:
Sets "_PodRange:"-Region

returns -1 if it fails.

Returnvalues:
 integer retval number of the region, -1 if it fails 

Parameters:
 number startposition begin of the podcast in seconds 
 number endposition end of the podcast in seconds 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ DeletePodRangeRegion

Functioncall:

integer retval = ultraschall.DeletePodRangeRegion()

Description:
deletes the PodRange-Region.

Returns false if unsuccessful

Returnvalues:
 boolean retval true, if deleting was successful; false, if not 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ DeleteNormalMarker

Functioncall:

boolean retval = ultraschall.DeleteNormalMarker(integer number)

Description:
Deletes a Normal-Marker. Returns true if successful and false if not(i.e. marker doesn't exist) Use ultraschall.EnumerateNormalMarkers to get the correct number.

Normal markers are all markers, that don't include "_Shownote:" or "_Edit" in the beginning of their name, as well as markers with the color 100,255,0(planned chapter).

returns -1 in case of an error

Returnvalues:
 boolean retval true, if successful, false if not 

Parameters:
 integer number number of a normal marker 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ DeleteEditMarker

Functioncall:

boolean retval = ultraschall.DeleteEditMarker(integer edit_index)

Description:
Deletes an _Edit:-Marker. Returns true if successful and false if not(i.e. marker doesn't exist) Use ultraschall.EnumerateEditMarkers to get the correct number.

Returnvalues:
 boolean retval true, if successful, false if not 

Parameters:
 integer edit_index number of an edit marker 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ExportEditMarkersToFile

Functioncall:

integer retval = ultraschall.ExportEditMarkersToFile(string filename_with_path, number PodRangeStart, number PodRangeEnd)

Description:
Export Edit-Markers (not regions!) to filename_with_path.

Each line in the exportfile contains an entry for such an edit-marker in the format:

hh:mm:ss.mss Title

Returns -1 in case of error.

Returnvalues:
 integer retval 1 in case of success, -1 if it failed 

Parameters:
 string filename_with_path the name of the export-file 
 number PodRangeStart beginning of the podcast in seconds 
 number PodRangeEnd end of the podcast in seconds 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ExportNormalMarkersToFile

Functioncall:

integer retval = ultraschall.ExportNormalMarkersToFile(string filename_with_path, number PodRangeStart, number PodRangeEnd)

Description:
Export Normal-Markers to filename_with_path. Returns -1 in case of error.

Normal markers are all markers, that don't include "_Shownote:" or "_Edit" in the beginning of their name, as well as markers with the color 100,255,0(planned chapter).

returns -1 in case of an error

Returnvalues:
 integer retval 1 in case of success, -1 if it failed 

Parameters:
 string filename_with_path the name of the export-file 
 number PodRangeStart beginning of the podcast in seconds 
 number PodRangeEnd end of the podcast in seconds 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ImportEditFromFile

Functioncall:

array editmarkers = ultraschall.ImportEditFromFile(string filename_with_path, PodRangestart)

Description:
Imports editentries from a file and returns an array of the imported values.

returns -1 in case of error

Returnvalues:
 array chapters array[0] is position of marker+PodRangeStart, array[1] is name of the marker 

Parameters:
 string filename_with_path markerfile to be imported 
 number PodRangeStart podcast-start-offset 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ImportMarkersFromFile

Functioncall:

array markers = ultraschall.ImportMarkersFromFile(string filename_with_path, PodrangeStart)

Description:
Imports markerentries from a file and returns an array of the imported values.

returns -1 in case of error

Returnvalues:
 array chapters array[0] is position of marker+PodRangeStart, array[1] is name of the marker 

Parameters:
 string filename_with_path markerfile to be imported 
 number PodRangeStart podcast-start-offset 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ MarkerToEditMarker

Functioncall:

integer idx, integer shown_number, number position, string markertitle = ultraschall.MarkerToEditMarker(integer markerindex)

Description:
Converts a normal-marker to an edit-marker.

Normal markers are all markers, that don't include "_Shownote:" or "_Edit" in the beginning of their name, as well as markers with the color 100,255,0(planned chapter).

returns -1 in case of an error

Returnvalues:
 integer idx overallmarker/regionnumber of marker beginning with 1 for the first marker; ignore the order of first,second,etc creation of
markers but counts from position 00:00:00 to end of project. So if you created a marker at position 00:00:00 and move the first created marker to
the end of the timeline, it will be the last one, NOT the first one in the retval! For use with reaper's own marker-functions. 
 integer shown_number the shown number of the marker 
 number position the position of the marker in seconds 
 string markertitle the markertitle 

Parameters:
 integer markerindex number of the normal-marker. Refer ultraschall.CountNormalMarkers for getting the number of normal-markers. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ EditToMarker

Functioncall:

integer idx, integer shown_number, number position, string markertitle = ultraschall.EditToMarker(integer edit_index)

Description:
Converts an edit-marker to a normal marker.

returns -1 in case of an error

Returnvalues:
 integer idx overallmarker/regionnumber of marker beginning with 1 for the first marker; ignore the order of first,second,etc creation of
markers but counts from position 00:00:00 to end of project. So if you created a marker at position 00:00:00 and move the first created marker to
the end of the timeline, it will be the last one, NOT the first one in the retval! For use with reaper's own marker-functions. 
 integer shown_number the shown number of the marker 
 number position the position of the marker in seconds 
 string markertitle the markertitle 

Parameters:
 integer edit_index number of the edit-marker. Refer ultraschall.CountEditMarkers for getting the number of edit-markers. 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetMarkerByScreenCoordinates

Functioncall:

string marker = ultraschall.GetMarkerByScreenCoordinates(integer xmouseposition)

Description:
returns the markers at a given absolute-x-pixel-position. It sees markers according their graphical representation in the arrange-view, not just their position! Returned string will be "Markeridx\npos\nName\nMarkeridx2\npos2\nName2\n...".
Will return "", if no marker has been found.

Returns only markers, no time markers or regions!

returns nil in case of an error

Returnvalues:
 string marker a string with all markernumbers, markerpositions and markertitles, separated by a newline.
Can contain numerous markers, if there are more markers in one position. 

Parameters:
 integer xmouseposition the absolute x-screen-position, like current mouse-position 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetMarkerByTime

Functioncall:

string markers = ultraschall.GetMarkerByTime(number position)

Description:
returns the markers at a given project-position in seconds.
It sees markers according their actual graphical representation in the arrange-view, not just their position.
If, for example, you pass to it the current playposition, the function will return the marker as long as the playcursor is behind the marker-graphics.

Returned string will be "Markeridx\npos\nName\nMarkeridx2\npos2\nName2\n...".
Will return "", if no marker has been found.

Returns only markers, no time markers or regions!

returns nil in case of an error

Returnvalues:
 string marker a string with all markernumbers, markerpositions and markertitles, separated by a newline.
Can contain numerous markers, if there are more markers in one position. 

Parameters:
 number position the time-position in seconds 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetRegionByScreenCoordinates

Functioncall:

string markers = ultraschall.GetRegionByScreenCoordinates(integer xmouseposition)

Description:
returns the regions at a given absolute-x-pixel-position. It sees regions according their graphical representation in the arrange-view, not just their position! Returned string will be "Regionidx\npos\nName\nRegionidx2\npos2\nName2\n...".
Returns only regions, no time markers or other markers!
Will return "", if no region has been found.
    
returns nil in case of an error

Returnvalues:
 string marker a string with all regionnumbers, regionpositions and regionnames, separated by a newline.
Can contain numerous regions, if there are more regions in one position. 

Parameters:
 integer xmouseposition the absolute x-screen-position, like current mouse-position 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetRegionByTime

Functioncall:

string markers = ultraschall.GetRegionByTime(number position)

Description:
returns the regions at a given absolute-x-pixel-position. It sees regions according their graphical representation in the arrange-view, not just their position! Returned string will be "Regionidx\npos\nName\nRegionidx2\npos2\nName2\n...".
Returns only regions, no timesignature-markers or other markers!
Will return "", if no region has been found.

returns nil in case of an error

Returnvalues:
 string marker a string with all regionnumbers, regionpositions and regionnames, separated by a newline.
Can contain numerous regions, if there are more regions in one position. 

Parameters:
 number position position in seconds 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetTimeSignaturesByScreenCoordinates

Functioncall:

string markers = ultraschall.GetTimeSignaturesByScreenCoordinates(integer xmouseposition)

Description:
returns the time-signature/tempo-marker at a given absolute-x-pixel-position. It sees time-signature/tempo-markers according their graphical representation in the arrange-view, not just their position! Returned string will be "tempomarkeridx\npos\ntempomarkeridx2\npos2\n...".
Returns only time-signature-markers, no regions or other markers!
Will return "", if no timesig-marker has been found.
    
returns nil in case of an error

Returnvalues:
 string marker a string with all markernumbers and markerpositions, separated by a newline.
Can contain numerous markers, if there are more markers in one position. 

Parameters:
 integer xmouseposition the absolute x-screen-position, like current mouse-position 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetTimeSignaturesByTime

Functioncall:

string markers = ultraschall.GetTimeSignaturesByTime(number position)

Description:
returns the time-signature/tempo-marker at a given absolute-x-pixel-position. It sees time-signature/tempo-markers according their graphical representation in the arrange-view, not just their position! Returned string will be "tempomarkeridx\npos\ntempomarkeridx2\npos2\n...".
Returns only time-signature-markers, no other markers or regions!
Will return "", if no timesig-marker has been found.

returns nil in case of an error

Returnvalues:
 string marker a string with all markernumbers and markerpositions, separated by a newline.
Can contain numerous markers, if there are more markers in one position. 

Parameters:
 number position position in seconds 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsMarkerEdit

Functioncall:

boolean retval = ultraschall.IsMarkerEdit(integer markerid)

Description:
returns true, if the marker is an edit-marker, false if not. Returns nil, if markerid is invalid.
Markerid is the marker-number for all markers, as used by marker-functions from Reaper.

returns nil in case of an error

Returnvalues:
 boolean retval true, if it's an edit-marker, false if not 

Parameters:
 integer markerid the markerid of all markers in the project, beginning with 0 for the first marker 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsMarkerNormal

Functioncall:

boolean retval = ultraschall.IsMarkerNormal(integer markerid)

Description:
returns true, if the marker is a normal-marker, false if not. Returns nil, if markerid is invalid.
Markerid is the marker-number for all markers, as used by marker-functions from Reaper.

returns nil in case of an error

Returnvalues:
 boolean retval true, if it's an normal-marker, false if not 

Parameters:
 integer markerid the markerid of all markers in the project, beginning with 0 for the first marker 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsRegionPodrange

Functioncall:

boolean retval = ultraschall.IsRegionPodrange(integer markerid)

Description:
returns true, if the marker is a Podrange-region, false if not. Returns nil, if markerid is invalid.
Markerid is the marker-number for all markers, as used by marker-functions from Reaper.

returns nil in case of an error

Returnvalues:
 boolean retval true, if it's a PodRange-Region, false if not 

Parameters:
 integer markerid the markerid of all markers in the project, beginning with 0 for the first marker 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsRegionEditRegion

Functioncall:

boolean retval = ultraschall.IsRegionEditRegion(integer markerid)

Description:
returns true, if the marker is an Edit-region, false if not. Returns nil, if markerid is invalid.
Markerid is the marker-number for all markers, as used by marker-functions from Reaper.

returns nil in case of an error

Returnvalues:
 boolean retval true, if it's an Edit-Region, false if not 

Parameters:
 integer markerid the markerid of all markers in the project, beginning with 0 for the first marker 


^ Reaper version 6.19Ultraschall version 4.2Lua version 5.3 ^ AddEditRegion

Functioncall:

integer markernr, string guid = ultraschall.AddEditRegion(number startposition, number endposition, string text)

Description:
Adds a new edit-region and returns index of the newly created edit-marker-region.

returns -1 in case of an error

Returnvalues:
 integer markernr the number of the newly created region 
 string guid the guid, associated with this edit-region 

Parameters:
 number startposition startposition in seconds 
 number endposition endposition in seconds 
 string text the title of the marker 


^ Reaper version 6.19Ultraschall version 4.2Lua version 5.3 ^ SetEditRegion

Functioncall:

boolean retval = ultraschall.SetEditRegion(integer number, number position, number endposition, string edittitle)

Description:
Sets the values of an already existing edit-region. To retain an already set position, endposition and/or edittitle, use nil.
Returns true in case of success, false if not.
Note: if you set the new beginning of the region before another region, the indexnumber of the edit-region changes. So if you want to set an edit-region repeatedly, you should get the indexnumber using ultraschall.EnumerateEditRegion, or you might accidently change another region!

returns -1 in case of an error

Returnvalues:
 boolean retval true, in case of success, false if not 

Parameters:
 integer number the number of the edit-region, beginning with 1 for the first edit-region 
 number startposition startposition in seconds, nil to retain the old value 
 number endposition endposition in seconds, nil to retain the old value 
 string text the title of the marker, nil to retain the old value 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ DeleteEditRegion

Functioncall:

boolean retval = ultraschall.DeleteEditRegion(integer number)

Description:
Deletes an already existing edit-region.
Returns true in case of success, false if not.

Returnvalues:
 boolean retval true, in case of success, false if not 

Parameters:
 integer number the number of the edit-region, beginning with 1 for the first edit-region 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ EnumerateEditRegion

Functioncall:

integer retval, number position, number endposition, string title, integer rgnindexnumber, string guid = ultraschall.EnumerateEditRegion(integer number)

Description:
Returns the values of an edit-region.

returns -1 in case of an error

Returnvalues:
 integer retval the overall marker-index-number of all markers in the project, -1 in case of error 
 number position position in seconds 
 number endposition endposition in seconds 
 string title the title of the region 
 integer rgnindexnumber the overall region index number, as used by other of Reaper's own marker-functions 
 string guid the guid of the edit-region 

Parameters:
 integer number the number of the edit-region, beginning with 1 for the first edit-region 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountEditRegions

Functioncall:

integer retval = ultraschall.CountEditRegions()

Description:
returns the number of edit-regions in the project.

Returnvalues:
 integer retval the number of edit-regions in the project 



^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ GetAllMarkersBetween

Functioncall:

integer number_of_all_markers, array allmarkersarray = ultraschall.GetAllMarkersBetween(optional number startposition, optional number endposition)

Description:
To get all Markers in the project(normal, edit, chapter), regardless of their category, between startposition and endposition.
Doesn't return regions!

returns the number of markers and an array with each marker in the format:

    markersarray[index][0] - position
    markersarray[index][1] - name
    markersarray[index][2] - indexnumber of the marker within all markers in the project
    markersarray[index][3] - the shown index-number
    markersarray[index][4] - the color of the marker
    markersarray[index][5] - the guid of the marker

returns -1 in case of error

Returnvalues:
 integer number_of_allmarkers the number of markers returned 
 array allmarkersarray an array, that holds all markers(not regions!) of the project 

Parameters:
 optional number startposition the earliest position a returned marker may have; nil for projectposition 0 
 optional number endposition the latest position a returned marker may have; nil for end of project 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetAllRegions

Functioncall:

integer number_of_all_regions, array allregionsarray = ultraschall.GetAllRegions()

Description:
To get all Regions in the project(normal, edit, chapter), regardless of their category.
Doesn't return markers!

returns the number of markers and an array with each marker in the format:

    regionarray[index][0] - position
    regionarray[index][1] - endposition
    regionarray[index][2] - name
    regionarray[index][3] - indexnumber of the region within all markers in the project. This is 1-based, unlike in Reaper's own API!
    regionarray[index][4] - the shown index-number
    regionarray[index][5] - the color of the region
    regionarray[index][6] - the guid of the region
    
returns -1 in case of error

Returnvalues:
 integer number_of_allregions the number of regions returned 
 array regionsarray an array, that holds all regions(not markers!) of the project 



^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ GetAllRegionsBetween

Functioncall:

integer number_of_all_regions, array allregionsarray = ultraschall.GetAllRegionsBetween(optional number startposition, optional number endposition, optional boolean partial)

Description:
To get all Regions in the project(normal, edit, chapter), regardless of their category between start- and endposition.
Set partial to true, if you want to get regions as well, that are only partially between start- and endposition
Doesn't return markers!

returns the number of markers and an array with each marker in the format:

    regionarray[index][0] - position
    regionarray[index][1] - endposition
    regionarray[index][2] - name
    regionarray[index][3] - indexnumber of the region within all markers in the project
    regionarray[index][4] - the shown index-number
    regionarray[index][5] - the color of the region
    regionarray[index][6] - the guid of the region

returns -1 in case of error

Returnvalues:
 integer number_of_allregions the number of regions returned 
 array regionsarray an array, that holds all regions(not markers!) of the project 

Parameters:
 optional number startposition the earliest position a returned region may have; nil, startposition=0 
 optional number endposition the latest position a returned region may have; nil, endposition=end of project 
 optional boolean retval true or nil, to get regions that are partially within start and endposition as well; false, only regions completely within start/endposition. 


^ Reaper version 5.52Ultraschall version 4.00Lua version 5.3 ^ ParseMarkerString

Functioncall:

integer number_of_entries, array markerarray = ultraschall.ParseMarkerString(string markerstring, boolean strict)

Description:
Parses the entries in markerstring for timestrings and markertitles.
It returns the number of entries as well as a table with all marker-information.
The table works as such:

markertable[1][markernumber] - the timestring of the marker, -1 if no time is available
markertable[2][markernumber] - the time, converted into position in seconds, -1 if no time is available
markertable[3][markernumber] - the name of the marker

returns -1 in case of an error

Returnvalues:
 integer number_of_entries the number of markers in markerstring 
 array markerarray a table with all the information of a marker
markertable[1][markernumber] - the timestring of the marker, -1 if no time is available
markertable[2][markernumber] - the time, converted into position in seconds, -1 if no time is available
markertable[3][markernumber] - the name of the marker 

Parameters:
 string markerstring a string with all markers. An entry is "timestring markertitle\n". Each marker-entry must be separated by a newline from each other. 
 boolean strict interpret the time in timestring more strict or more loosely?
true, the time in markerstring must follow the format hh:mm:ss.mss , e.g. 11:22:33.444
false, the time can be more flexible, leading to possible misinterpretation of indexnumbers as time/seconds 


^ Reaper version 5.52Ultraschall version 4.00Lua version 5.3 ^ RenumerateMarkers

Functioncall:

integer retval = ultraschall.RenumerateMarkers(integer colorvalue, integer startingnumber)

Description:
Renumbers the shown numbers of markers(not regions!) in the current project, that have the color colorvalue.
The numbering starts with the number startingnumber.

The markers will be renumbered from the earliest marker in the project to the latest one.

returns -1 in case of an error

Returnvalues:
 integer retval -1 in case of error, nil in case of success 

Parameters:
 integer colorvalue the (systemdependent)colorvalue a marker must have. -1 if you want all markers to be numbered.
Keep in mind, that colors are differently interpreted on Mac compared to Windows! 
 integer startingnumber the first number that shall be given. 


^ Reaper version 5.52Ultraschall version 4.1Lua version 5.3 ^ CountNormalMarkers_NumGap

Functioncall:

integer number_normal_markers = ultraschall.CountNormalMarkers_NumGap()

Description:
Returns the first "gap" in shown marker-numbers. If you have markers with numbers "1, 2, 4" it will return 3, as this is the first number missing.

Normal markers are all markers, that don't include "_Shownote:" or "_Edit" in the beginning of their name, as well as markers with the color 100,255,0(planned chapter).

Returnvalues:
 integer gap_number the number of the first "gap" in the numbering of the shown marker-numbers 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsMarkerAtPosition

Functioncall:

boolean retval, integer count, string markersstring, array markersarray = ultraschall.IsMarkerAtPosition(number position)

Description:
returns, if markers are at position and returns the marker-numbers.

The marker-numbers are numerated by order, not the shown marker-numbers!

returns false in case of error

Returnvalues:
 boolean retval true, if the function found marker(s); false, if no markers are available at position 
 integer count the count of markers at position 
 string markersstring a string with all the markernumbers, separated by a , 
 array markersarray an array with each entry consisting a markernumber 

Parameters:
 number position the position to check for markers in seconds; only positive numbers 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsRegionAtPosition

Functioncall:

boolean retval, integer count, string regionsstring, array regionsarray = ultraschall.IsRegionAtPosition(number position)

Description:
returns, if regions are at position and returns the region-numbers.

The region-numbers are numerated by order, not the shown region-numbers!

returns false in case of error

Returnvalues:
 boolean retval true, if the function found region(s); false, if no regions are available at position 
 integer count the count of regions at position 
 string regionsstring a string with all the regionnumbers, separated by a , 
 array regionsarray an array with each entry consisting a regionnumber 

Parameters:
 number position the position to check for regions in seconds; only positive numbers 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountMarkersAndRegions

Functioncall:

integer count_markers, integer count_regions = ultraschall.CountMarkersAndRegions()

Description:
Returns the position of the last projectmarker in the project(no regions or time-sig-markers!).
Use GetMarkerAndRegionsByIndex to enumerate markers or regions in particular.

Returns -1 in case of no markers available

Returnvalues:
 integer count_markers the number of markers available in the project 
 integer count_regions the number of regions available in the project 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetLastMarkerPosition

Functioncall:

number position, integer marker_idx = ultraschall.GetLastMarkerPosition()

Description:
Returns the position of the last projectmarker in the project(no regions or time-sig-markers!).

Returns -1 in case of no markers available

Returnvalues:
 number position the position of the last marker in the project 
 integer marker_idx the idx of the last marker in the project. Not the shown number! 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetLastRegion

Functioncall:

number position, number endposition, integer region_idx = ultraschall.GetLastRegion()

Description:
Returns the position of the last region in the project(no markers or time-sig-markers!).
Note: Last region means the last ending region in the project, even if it's the first starting.

Returns -1 in case of no regions available

Returnvalues:
 number startposition the startposition of the last region in the project 
 number endposition the endposition of the last region in the project 
 integer region_idx the idx of the last region in the project. Not the shown number! 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetLastTimeSigMarkerPosition

Functioncall:

number position, number measureposition, number beatposition, integer timesig_idx = ultraschall.GetLastTimeSigMarkerPosition()

Description:
Returns the position of the last time-signature-marker in the project(no markers or regions!).

Returns -1 in case of no time-signature-markers available

Returnvalues:
 number position the position of the last timesig-marker in the project 
 number measureposition the measureposition of the last timesig-marker in the project 
 number beatposition the beatposition of the last timesig-marker in the project 
 integer timesig_idx the idx of the last timesig-marker in the project. 



^ Reaper version 5.95Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetMarkerUpdateCounter

Functioncall:

integer marker_update_counter = ultraschall.GetMarkerUpdateCounter()

Description:
returns the number of times, a marker in any project has been updated since Reaper started.
Counts up, if a marker is added, set, moved, deleted from any project opened in Reaper.

This counter includes already closed projects as well

Returnvalues:
 integer marker_update_counter the number of times a marker in any project in Reaper has been updated 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ MoveTimeSigMarkersBy

Functioncall:

integer retval = ultraschall.MoveTimeSigMarkersBy(number startposition, number endposition, number moveby, boolean cut_at_borders, boolean update_timeline)

Description:
Moves time-signature-markers between startposition and endposition by moveby.

Does NOT move normal projectmarkers or regions!

Returns -1 in case of failure.

Returnvalues:
 integer retval -1 in case of failure 

Parameters:
 number startposition the startposition in seconds 
 number endposition the endposition in seconds 
 number moveby in seconds, negative values: move toward beginning of project, positive values: move toward the end of project 
 boolean cut_at_borders shortens or cuts markers, that leave the section between startposition and endposition 
 boolean update_timeline true, updates the timeline after moving time-signature markers; false, don't update timeline(must be done manually then) 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetAllTimeSigMarkers

Functioncall:

integer num_timesig_markers, array TimeSigArray = ultraschall.GetAllTimeSigMarkers()

Description:
Returns the number of Tempo/Time-Signature-Markers in the project, as well as an array with all attributes of all these markers.

The array is of the format: TimeSigArray[markernumber(1-based)][attribute-idx]
where attribute-idx is
1, number timepos
2, number measurepos
3, number beatpos
4, number bpm
5, number timesig_num
6, number timesig_denom
7, boolean lineartempo

returns -1 in case of error

Returnvalues:
 integer num_timesig_markers the number of time-signature-markers in the project 
 array TimeSigArray an array with all time-signature-markers and all their attributes; see Description for more details 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ MoveMarkersBy

Functioncall:

integer retval = ultraschall.MoveMarkersBy(number startposition, number endposition, number moveby, boolean cut_at_borders)

Description:
Moves the markers between startposition and endposition by moveby.

Does NOT move regions and time-signature-markers!

Returns -1 in case of failure.

Returnvalues:
 integer retval -1 in case of failure 

Parameters:
 number startposition the startposition in seconds 
 number endposition the endposition in seconds 
 number moveby in seconds, negative values: move toward beginning of project, positive values: move toward the end of project 
 boolean cut_at_borders shortens or cuts markers, that leave the section between startposition and endposition when applying moveby 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ MoveRegionsBy

Functioncall:

integer retval = ultraschall.MoveRegionsBy(number startposition, number endposition, number moveby, boolean cut_at_borders)

Description:
Moves the regions between startposition and endposition by moveby.
Will affect only regions, who start within start and endposition. It will not affect those, who end within start and endposition but start before startposition.

Does NOT move markers and time-signature-markers!

Returns -1 in case of failure.

Returnvalues:
 integer retval -1 in case of failure 

Parameters:
 number startposition the startposition in seconds 
 number endposition the endposition in seconds 
 number moveby in seconds, negative values: move toward beginning of project, positive values: move toward the end of project 
 boolean cut_at_borders shortens or cuts markers, that leave the section between startposition and endposition 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ RippleCut_Regions

Functioncall:

boolean were_regions_altered, integer number_of_altered_regions, array altered_regions = ultraschall.RippleCut_Regions(number startposition, number endposition)

Description:
Ripplecuts regions, where applicable.
It cuts all (parts of) regions between startposition and endposition and moves remaining parts plus all regions after endposition by endposition-startposition toward projectstart.

Returns false in case of an error.

Returnvalues:
 boolean were_regions_altered true, if regions were cut/altered; false, if not 
 integer number_of_altered_regions the number of regions that were altered/cut/moved 
 array altered_regions the regions that were altered:
   altered_regions_array[index_of_region][0] - old startposition
   altered_regions_array[index_of_region][1] - old endposition
   altered_regions_array[index_of_region][2] - name
   altered_regions_array[index_of_region][3] - old indexnumber of the region within all markers in the project
   altered_regions_array[index_of_region][4] - the shown index-number
   altered_regions_array[index_of_region][5] - the color of the region
   altered_regions_array[index_of_region][6] - the change that was applied to this region
   altered_regions_array[index_of_region][7] - the new startposition
   altered_regions_array[index_of_region][8] - the new endposition 

Parameters:
 number startposition the startposition from where regions shall be cut from 
 number endposition the endposition to which regions shall be cut from; all regions/parts of regions after that will be moved toward projectstart 


^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ GetAllCustomMarkers

Functioncall:

integer count, table marker_array = ultraschall.GetAllCustomMarkers(string custom_marker_name)

Description:
Will return all custom-markers with a certain name.

A custom-marker has the naming-scheme

_customname: text for this marker

You just need to pass customname to this function, leaving out the preceding _ and the trailing :
Exception: if the custom-marker has the name

__customname:: test for this marker

Example:

The custom-marker VanillaChief has the custom_marker_name VanillaChief and will be shown as _VanillaChief: text in the project.
So you pass VanillaChief to this function to get all _VanillaChief:-markers.

Will not check custom-regions, use GetAllCustomRegions instead.

returns -1 in case of an error

Returnvalues:
 integer count the number of found markers; -1, in case of an error 
 table marker_array an array with all found custom-markers. It follows the scheme:

    marker_array[index]["index"] - index of the marker, in timeline-order, with 0 for the first in the project
    marker_array[index]["pos"]   - position of the marker in seconds
    marker_array[index]["name"]  - name of the marker, excluding the custom-marker-name
    marker_array[index]["shown_number"]  - the number of the marker, that is displayed in the timeline
    marker_array[index]["color"]  - color-value of the marker
    marker_array[index]["guid"]  - the guid of the marker 

Parameters:
 string custom_marker_name the name of the custom-marker. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-marker is called "__CustomMarker::"
Lua-pattern-matching-expressions are allowed. This parameter is NOT case-sensitive.
"" will return all custom marker 


^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ GetAllCustomRegions

Functioncall:

integer count, table marker_array = ultraschall.GetAllCustomRegions(string custom_region_name)

Description:
Will return all custom-regions with a certain name.

A custom-region has the naming-scheme

_customname: text for this region

You just need to pass customname to this function, leaving out the preceding _ and the trailing :
Exception: if the custom-region has the name

__customname:: test for this region

Example:

The custom-region VanillaChief has the custom_region_name VanillaChief and will be shown as _VanillaChief: text in the project.
So you pass VanillaChief to this function to get all _VanillaChief:-regions.

Will not check custom-markers, use GetAllCustomMarkers instead.

returns -1 in case of an error

Returnvalues:
 integer count the number of found regions; -1, in case of an error 
 table region_array an array with all found custom-markers. It follows the scheme:

    region_array[index]["index"] - index of the region, in timeline-order, with 0 for the first in the project
    region_array[index]["pos"]   - position of the region in seconds
    region_array[index]["regionend"] - the endposition of the region in seconds
    region_array[index]["name"]  - name of the region, excluding the custom-region-name
    region_array[index]["shown_number"]  - the number of the region, that is displayed in the timeline
    region_array[index]["color"]  - color-value of the region
    region_array[index]["guid"]  - the guid of the region 

Parameters:
 string custom_region_name the name of the custom-region. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-region is called "__CustomRegion::"
Lua-pattern-matching-expressions are allowed. This parameter is NOT case-sensitive.
"" will return all custom-regions 


^ Reaper version 5.965Ultraschall version 4.2Lua version 5.3 ^ CountAllCustomMarkers

Functioncall:

integer count = ultraschall.CountAllCustomMarkers(string custom_marker_name)

Description:
Will count all custom-markers with a certain name.

A custom-marker has the naming-scheme

_customname: text for this marker

You just need to pass customname to this function, leaving out the preceding _ and the trailing :
Exception: if the custom-marker has the name

__customname:: test for this marker

Example:

The custom-marker VanillaChief has the custom_marker_name VanillaChief and will be shown as _VanillaChief: text in the project.
So you pass VanillaChief to this function to get all _VanillaChief:-markers.

Will not count custom-regions, use CountAllCustomRegions instead.

returns -1 in case of an error

Returnvalues:
 integer count the number of found markers; -1, in case of an error 

Parameters:
 string custom_marker_name the name of the custom-marker. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-marker is called "__CustomMarker::"
Lua-pattern-matching-expressions are allowed. This parameter is NOT case-sensitive.
"" counts all custom markers, regardless of their name 


^ Reaper version 5.965Ultraschall version 4.2Lua version 5.3 ^ CountAllCustomRegions

Functioncall:

integer count = ultraschall.CountAllCustomRegions(string custom_region_name)

Description:
Will count all custom-regions with a certain name.

A custom-region has the naming-scheme

_customname: text for this region

You just need to pass customname to this function, leaving out the preceding _ and the trailing :
Exception: if the custom-region has the name

__customname:: test for this region

Example:

The custom-region VanillaChief has the custom_region_name VanillaChief and will be shown as _VanillaChief: text in the project.
So you pass VanillaChief to this function to get all _VanillaChief:-regions.

Will not count custom-markers, use CountAllCustomMarkers instead.

returns -1 in case of an error

Returnvalues:
 integer count the number of found regions; -1, in case of an error 

Parameters:
 string custom_region_name the name of the custom-region. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-region is called "__CustomRegion::"
Lua-pattern-matching-expressions are allowed. This parameter is NOT case-sensitive.
"" will count all custom-regions, regardless of their names 


^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ EnumerateCustomMarkers

Functioncall:

boolean retval, integer marker_index, number pos, string name, integer shown_number, integer color = ultraschall.EnumerateCustomMarkers(string custom_marker_name, integer idx)

Description:
Will return a specific custom-marker with a certain name.

A custom-marker has the naming-scheme

_customname: text for this marker

You just need to pass customname to this function, leaving out the preceding _ and the trailing :
Exception: if the custom-marker has the name

__customname:: test for this marker

Example:

The custom-marker VanillaChief has the custom_marker_name VanillaChief and will be shown as _VanillaChief: text in the project.
So you pass VanillaChief to this function to get all _VanillaChief:-markers.

Will not enumerate custom-regions, use EnumerateCustomRegions instead.

returns false in case of an error

Returnvalues:
 boolean retval true, if the custom-marker exists; false, if not or an error occurred 
 integer marker_index the index of the marker within all markers and regions, as positioned in the project, with 0 for the first, 2 for the second, etc 
 number pos the position of the marker in seconds 
 string name the name of the marker, exluding the custom-marker-name 
 integer shown_number the markernumber, that is displayed in the timeline of the arrangeview 
 integer color the color of the marker 
 string guid the guid of the custom-marker 

Parameters:
 string custom_marker_name the name of the custom-marker. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-marker is called "__CustomMarker::"
Lua-pattern-matching-expressions are allowed. This parameter is NOT case-sensitive.
"" will enumerate over all existing custom-markers 
 integer idx the index of the marker within all same-named custom-markers; 0, for the first custom-marker 


^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ EnumerateCustomRegions

Functioncall:

boolean retval, integer marker_index, number pos, number regionend, string name, integer shown_number, integer color, string guid = ultraschall.EnumerateCustomRegions(string custom_marker_name, integer idx)

Description:
Will return a specific custom-region with a certain name.

A custom-region has the naming-scheme

_customname: text for this region

You just need to pass customname to this function, leaving out the preceding _ and the trailing :
Exception: if the custom-region has the name

__customname:: test for this region

Example:

The custom-region VanillaChief has the custom_region_name VanillaChief and will be shown as _VanillaChief: text in the project.
So you pass VanillaChief to this function to get all _VanillaChief:-regions.

Will not enumerate custom-markers, use EnumerateCustomMarkers instead.

returns false in case of an error

Returnvalues:
 boolean retval true, if the custom-region exists; false, if not or an error occurred 
 integer marker_index the index of the marker within all markers and regions, as positioned in the project, with 0 for the first, 2 for the second, etc 
 number pos the position of the region in seconds 
 number rgnend the end of the region in seconds 
 string name the name of the region, exluding the custom-region-name 
 integer shown_number the regionnumber, that is displayed in the timeline of the arrangeview 
 integer color the color of the region 
 string guid the guid of the custom-region 

Parameters:
 string custom_region_name the name of the custom-region. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-region is called "__CustomRegion::"
Lua-pattern-matching-expressions are allowed. This parameter is NOT case-sensitive. 
 integer idx the index of the region within all same-named custom-regions; 0, for the first custom-region 


^ Reaper version 5.965Ultraschall version 4.2Lua version 5.3 ^ DeleteCustomMarkers

Functioncall:

boolean retval, integer marker_index, number pos, string name, integer shown_number, integer color = ultraschall.DeleteCustomMarkers(string custom_marker_name, integer idx)

Description:
Will delete a specific custom-marker with a certain name.

A custom-marker has the naming-scheme

_customname: text for this marker

You just need to pass customname to this function, leaving out the preceding _ and the trailing :
Exception: if the custom-marker has the name

__customname:: test for this marker

Example:

The custom-marker VanillaChief has the custom_marker_name VanillaChief and will be shown as _VanillaChief: text in the project.
So you pass VanillaChief to this function to get all _VanillaChief:-markers.

Will not delete custom-regions, use DeleteCustomRegions instead.

returns false in case of an error

Returnvalues:
 boolean retval true, if the custom-marker exists; false, if not or an error occurred 
 integer marker_index the index of the marker within all markers and regions, as positioned in the project, with 0 for the first, 2 for the second, etc 
 number pos the position of the marker in seconds 
 string name the name of the marker, exluding the custom-marker-name 
 integer shown_number the markernumber, that is displayed in the timeline of the arrangeview 
 integer color the color of the marker 

Parameters:
 string custom_marker_name the name of the custom-marker. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-marker is called "__CustomMarker::"
Lua-pattern-matching-expressions are allowed. This parameter is NOT case-sensitive.
"" will delete over all custom-markers available, regardless of their name 
 integer idx the index of the marker within all same-named custom-markers; 0, for the first custom-marker     


^ Reaper version 5.965Ultraschall version 4.2Lua version 5.3 ^ DeleteCustomRegions

Functioncall:

boolean retval, integer marker_index, number pos, number regionend, string name, integer shown_number, integer color = ultraschall.DeleteCustomRegions(string custom_marker_name, integer idx)

Description:
Deletes a specific custom-region with a certain name.

A custom-region has the naming-scheme

_customname: text for this region

You just need to pass customname to this function, leaving out the preceding _ and the trailing :
Exception: if the custom-region has the name

__customname:: test for this region

Example:

The custom-region VanillaChief has the custom_region_name VanillaChief and will be shown as _VanillaChief: text in the project.
So you pass VanillaChief to this function to get all _VanillaChief:-regions.

Will not delete custom-markers, use DeleteCustomMarkers instead.

returns false in case of an error

Returnvalues:
 boolean retval true, if the custom-region exists; false, if not or an error occurred 
 integer marker_index the index of the marker within all markers and regions, as positioned in the project, with 0 for the first, 2 for the second, etc 
 number pos the position of the region in seconds 
 number rgnend the end of the region in seconds 
 string name the name of the region, exluding the custom-region-name 
 integer shown_number the regionnumber, that is displayed in the timeline of the arrangeview 
 integer color the color of the region 

Parameters:
 string custom_region_name the name of the custom-region. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-region is called "__CustomRegion::"
Lua-pattern-matching-expressions are allowed. This parameter is NOT case-sensitive.
"" will delete over all custom-regions available, regardless of their name 
 integer idx the index of the region within all same-named custom-regions; 0, for the first custom-region 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ AddCustomMarker

Functioncall:

boolean retval, integer markernumber, string guid = ultraschall.AddCustomMarker(string custom_marker_name, number pos, string name, integer shown_number, integer color)

Description:
Will add new custom-marker with a certain name.

A custom-marker has the naming-scheme

_customname: text for this marker

You just need to pass customname to this function, leaving out the preceding _ and the trailing :
Exception: if the custom-marker has the name

__customname:: test for this marker

Example:

The custom-marker VanillaChief has the custom_marker_name VanillaChief and will be shown as _VanillaChief: text in the project.
So you pass VanillaChief to this function to get all _VanillaChief:-markers.

Will not add custom-regions, use AddCustomRegion instead.

returns false in case of an error

Returnvalues:
 boolean retval true, if adding the custom-marker was successful; false, if not or an error occurred 
 integer markernumber the indexnumber of the newly added custommarker 
 string guid the guid of the custommarker 

Parameters:
 string custom_marker_name the name of the custom-marker. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-marker is called "__CustomMarker::"; nil, adds a normal marker 
 number pos the position of the marker in seconds 
 string name the name of the marker, exluding the custom-marker-name 
 integer shown_number the markernumber, that is displayed in the timeline of the arrangeview 
 integer color the color of the marker 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ AddCustomRegion

Functioncall:

boolean retval, integer shown_number, integer markerindex, string guid = ultraschall.AddCustomRegion(string custom_region_name, number pos, number regionend, string name, integer shown_number, integer color)

Description:
Will add new custom-region with a certain name.

A custom-region has the naming-scheme

_customname: text for this region

You just need to pass customname to this function, leaving out the preceding _ and the trailing :
Exception: if the custom-region has the name

__customname:: test for this region

Example:

The custom-region VanillaChief has the custom_region_name VanillaChief and will be shown as _VanillaChief: text in the project.
So you pass VanillaChief to this function to get all _VanillaChief:-regions.

Will not add custom-markers, use AddCustomMarker instead.

returns false in case of an error

Returnvalues:
 boolean retval true, if adding the custom-region was successful; false, if not or an error occurred 
 integer shown_number if the desired shown_number is already used by another region, this will hold the alternative number for the new custom-region 
 integer markernumber the indexnumber of the newly added customregion 
 string guid the guid of the customregion 

Parameters:
 string custom_marker_name the name of the custom-region. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-region is called "__CustomRegion::"; nil, make it a normal regionname 
 number pos the position of the region in seconds 
 number regionend the endposition of the region in seconds 
 string name the name of the region, exluding the custom-region-name 
 integer shown_number the regionnumber, that is displayed in the timeline of the arrangeview 
 integer color the color of the marker 


^ Reaper version 5.965Ultraschall version 4.2Lua version 5.3 ^ SetCustomMarker

Functioncall:

boolean retval = ultraschall.SetCustomMarker(string custom_marker_name, integer idx, number pos, string name, integer shown_number, integer color)

Description:
Will set attributes of an already existing custom-marker with a certain name.

A custom-marker has the naming-scheme

_customname: text for this marker

You just need to pass customname to this function, leaving out the preceding _ and the trailing :
Exception: if the custom-marker has the name

__customname:: test for this marker

Example:

The custom-marker VanillaChief has the custom_marker_name VanillaChief and will be shown as _VanillaChief: text in the project.
So you pass VanillaChief to this function to get all _VanillaChief:-markers.

Will not set custom-regions, use SetCustomRegion instead.

returns false in case of an error

Returnvalues:
 boolean retval true, if setting the new attributes of the custom-marker was successful; false, if not or an error occurred 

Parameters:
 string custom_marker_name the name of the custom-marker. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-marker is called "__CustomMarker::"; nil, make it a normal marker
"" will use idx over all custom-markers, regardless of their name 
 integer idx the index-number of the custom-marker within all custom-markers 
 number pos the position of the marker in seconds 
 string name the name of the marker, exluding the custom-marker-name 
 integer shown_number the markernumber, that is displayed in the timeline of the arrangeview 
 integer color the color of the marker 


^ Reaper version 5.965Ultraschall version 4.2Lua version 5.3 ^ SetCustomRegion

Functioncall:

boolean retval, integer shown_number = ultraschall.SetCustomRegion(string custom_region_name, integer idx, number pos, number regionend, string name, integer shown_number, integer color)

Description:
Will set an already existing custom-region with a certain name.

A custom-region has the naming-scheme

_customname: text for this region

You just need to pass customname to this function, leaving out the preceding _ and the trailing :
Exception: if the custom-region has the name

__customname:: test for this region

Example:

The custom-region VanillaChief has the custom_region_name VanillaChief and will be shown as _VanillaChief: text in the project.
So you pass VanillaChief to this function to get all _VanillaChief:-regions.

Will not add custom-markers, use AddCustomMarker instead.

returns false in case of an error, like the desired shown_number is already taken by another region

Returnvalues:
 boolean retval true, if adding the region was successful; false, if not or an error occurred
false could be an indicator, that there's already a region using the number passed over in shown_number 
 integer shown_number if the desired shown_number is already used by another region, this will hold the alternative number for the new custom-region 

Parameters:
 string custom_marker_name the name of the custom-region. Don't include the _ at the beginning and the : at the end, or it might not be found. Exception: Your custom-region is called "__CustomRegion::"
"" will use idx over all custom-markers, regardless of their name 
 integer idx the index of the custom region to change 
 number pos the position of the region in seconds 
 string name the name of the region, exluding the custom-region-name 
 integer shown_number the regionnumber, that is displayed in the timeline of the arrangeview 
 integer color the color of the marker 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ GetNextFreeRegionIndex

Functioncall:

integer free_shown_number = ultraschall.GetNextFreeRegionIndex()

Description:
returns the next unused region-index-number, beginning with 0.

Returnvalues:
 integer free_shown_number the next free/unused region-index-number 



^ Reaper version 5.965Ultraschall version 4.2Lua version 5.3 ^ IsMarkerValidCustomMarker

Functioncall:

boolean retval = ultraschall.IsMarkerValidCustomMarker(string custom_marker_name, integer markeridx)

Description:
returns true, if the marker with id markeridx is a valid custom-marker of the type custommarkername

markeridx is the index of all markers and regions!

returns false in case of an error

Returnvalues:
 boolean retval true, marker is a valid custom-marker of type custom_marker_name; false, it is not or an error occurred 



^ Reaper version 5.965Ultraschall version 4.2Lua version 5.3 ^ IsRegionValidCustomRegion

Functioncall:

boolean retval = ultraschall.IsRegionValidCustomRegion(string custom_region_name, integer markeridx)

Description:
returns true, if the marker with id markeridx is a valid custom-region of the type customregionname

markeridx is the index of all markers and regions!

returns false in case of an error

Returnvalues:
 boolean retval true, marker is a valid custom-region of type custom_region_name; false, it is not or an error occurred 



^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetMarkerIDFromGuid

Functioncall:

integer index = ultraschall.GetMarkerIDFromGuid(string guid)

Description:
Gets the corresponding indexnumber of a marker-guid

The index is for all markers and regions, inclusive and 1-based

returns -1 in case of an error

Returnvalues:
 integer index the index of the marker/region, whose guid you have passed to this function 

Parameters:
 string guid the guid of the marker/region, whose index-number you want to retrieve 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetGuidFromMarkerID

Functioncall:

string guid = ultraschall.GetGuidFromMarkerID(integer index)

Description:
Gets the corresponding marker-guid of a marker with a specific index

The index is for all markers and regions, inclusive and 1-based

returns -1 in case of an error

Returnvalues:
 string guid the guid of the marker/region of the marker with a specific index 

Parameters:
 integer index the index of the marker/region, whose guid you want to retrieve 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ IsTimeSigmarkerAtPosition

Functioncall:

boolean retval = ultraschall.IsTimeSigmarkerAtPosition(number position, optional integer position_mode)

Description:
returns, if at position is a time-signature marker

returns false in case of an error

Returnvalues:
 boolean retval true, marker found; false, marker not found 

Parameters:
 number position the position to check, whether there's a timesignature marker 
 optional integer position_mode nil or 0, use position in seconds; 1, use position in measures 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemPosition

Functioncall:

number position = ultraschall.GetItemPosition(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns position-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Returnvalues:
 number position the position in seconds, as set in the statechunk 

Parameters:
 MediaItem MediaItem the MediaItem, whose position you want to know; nil, use parameter MediaItemStatechunk instead 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemLength

Functioncall:

number length = ultraschall.GetItemLength(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns length-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Returnvalues:
 number length the length in seconds, as set in the statechunk 

Parameters:
 MediaItem MediaItem the MediaItem, whose length you want to know; nil, use parameter MediaItemStatechunk instead 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemSnapOffset

Functioncall:

number snapoffset = ultraschall.GetItemSnapOffset(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns snapoffs-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Returnvalues:
 number snapoffset the snapoffset in seconds, as set in the statechunk 

Parameters:
 MediaItem MediaItem the MediaItem, whose snapoffset you want to know; nil, use parameter MediaItemStatechunk instead 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemLoop

Functioncall:

integer loopstate = ultraschall.GetItemLoop(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns loopstate-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Returnvalues:
 integer loopstate the loopstate, as set in the statechunk; 1, loop source; 0, don't loop source 

Parameters:
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemAllTakes

Functioncall:

integer alltakes = ultraschall.GetItemAllTakes(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns alltakes-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Returnvalues:
 integer alltakes Play all takes(1) or don't play all takes(0) 

Parameters:
 MediaItem MediaItem the MediaItem, whose all-takes-playstate you want to know; nil, use parameter MediaItemStatechunk instead 
 string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemFadeIn

Functioncall:

number fadestate1, number fadestate2, number fadestate3, number fadestate4, integer fadestate5, number fadestate6 = ultraschall.GetItemFadeIn(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns fadein-entries of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Returnvalues:
 number curvetype1 the type of the curve: 0, 1, 2, 3, 4, 5, 5.1; must be set like curvetype2 
 number fadein fadein in seconds 
 number fadestate3 fadeinstate entry as set in the rppxml-mediaitem-statechunk 
 number curvetype2 the type of the curve: 0, 1, 2, 3, 4, 5, 5.1; must be set like curvetype1 
 integer fadestate5 fadeinstate entry as set in the rppxml-mediaitem-statechunk 
 number curve curve -1 to 1 

Parameters:
 MediaItem MediaItem the MediaItem, whose fadein-state you want to know; nil, use parameter MediaItemStatechunk instead 
 string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemFadeOut

Functioncall:

number curvetype1, number fadeout_length, number fadeout_length2, number curvetype2, integer fadestate5, number curve = ultraschall.GetItemFadeOut(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns fadeout-entries of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Returnvalues:
 number curvetype1 the type of the curve: 0, 1, 2, 3, 4, 5, 5.1; must be set like curvetype2 
 number fadeout_length the current fadeout-length in seconds 
 number fadeout_length2 the fadeout-length in seconds; overrides fadeout_length and will be moved to fadeout_length when fadeout-length changes(e.g. mouse-drag); might be autocrossfade-length 
 number curvetype2 the type of the curve: 0, 1, 2, 3, 4, 5, 5.1; must be set like curvetype1 
 integer fadestate5 unknown 
 number curve curvation of the fadeout, -1 to 1 

Parameters:
 MediaItem MediaItem the MediaItem, whose fadeout-state you want to know; nil, use parameter MediaItemStatechunk instead 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemMute

Functioncall:

integer mutestate = ultraschall.GetItemMute(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns mutestate-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Returnvalues:
 integer mutestate the mute-state; 1, mute is on; 0, mute is off 

Parameters:
 MediaItem MediaItem the MediaItem, whose mute-state you want to know; nil, use parameter MediaItemStatechunk instead 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemFadeFlag

Functioncall:

integer autofade_state = ultraschall.GetItemFadeFlag(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns autofade-entry of a MediaItem or MediaItemStateChunk.
It's the FADEFLAG-entry.
Returns nil in case of error.

Returnvalues:
 integer autofade_state the autofade-state; 1, autofade is off; nil, autofade is on 

Parameters:
 MediaItem MediaItem the MediaItem, whose fadeflag-state you want to know; nil, use parameter MediaItemStatechunk instead 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemLock

Functioncall:

integer lock_state = ultraschall.GetItemLock(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns itemlock-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Returnvalues:
 integer lock_state the lock-state; 1, item is locked; nil, item is not locked 

Parameters:
 MediaItem MediaItem the MediaItem, whose itemlock-state you want to know; nil, use parameter MediaItemStatechunk instead 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemSelected

Functioncall:

integer selected_state = ultraschall.GetItemSelected(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns item-selected-state-entry of a MediaItem or MediaItemStateChunk.
It's the SEL-entry.
Returns nil in case of error.

Returnvalues:
 integer selected_state the item-selected-state; 1 - item is selected; 0 - item is not selected 

Parameters:
 MediaItem MediaItem the MediaItem, whose selection-state you want to know; nil, use parameter MediaItemStatechunk instead 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemGroup

Functioncall:

integer item_group = ultraschall.GetItemGroup(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns group of a MediaItem or MediaItemStateChunk, where the item belongs to.
It's the GROUP-entry
Returns nil in case of error.

Returnvalues:
 integer item_group the group the item belongs to; nil, if item doesn't belong to any group 

Parameters:
 MediaItem MediaItem the MediaItem, whose ItemGroup-state you want to know; nil, use parameter MediaItemStatechunk instead 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemIGUID

Functioncall:

string IGUID = ultraschall.GetItemIGUID(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns the IGUID-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Returnvalues:
 string IGUID the IGUID of the item 

Parameters:
 MediaItem MediaItem the MediaItem, whose IGUID-state you want to know; nil, use parameter MediaItemStatechunk instead 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemIID

Functioncall:

integer IID = ultraschall.GetItemIID(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns the IID-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Returnvalues:
 integer IID the IID of the item; the item-id, which is basically a counter of all items created within this project. May change, so use it only as a counter. If you want to identify a specific item, use GUID and IGUID instead. 

Parameters:
 MediaItem MediaItem the MediaItem, whose ItemIID-state you want to know; nil, use parameter MediaItemStatechunk instead 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemName

Functioncall:

string name = ultraschall.GetItemName(MediaItem MediaItem, string MediaItemStateChunk)

Description:
Returns the name-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Returnvalues:
 string name the name of the item 

Parameters:
 MediaItem MediaItem the MediaItem, whose itemname-state you want to know; nil, use parameter MediaItemStatechunk instead 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemVolPan

Functioncall:

number volpan1, number pan, number volume, number volpan4 = ultraschall.GetItemVolPan(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns the vol/pan-entries of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Returnvalues:
 number volpan1 unknown 
 number pan from -1(100%L) to 1(100%R), 0 is center 
 number volume from 0(-inf) to 3.981072(+12db), 1 is 0db; higher numbers are allowed; negative means phase inverted 
 number volpan4 unknown 

Parameters:
 MediaItem MediaItem the MediaItem, whose volpan-state you want to know; nil, use parameter MediaItemStatechunk instead 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemSampleOffset

Functioncall:

number sampleoffset = ultraschall.GetItemSampleOffset(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns the sampleoffset-entry of a MediaItem or MediaItemStateChunk.
It's the SOFFS-entry.
Returns nil in case of error.

Returnvalues:
 number sampleoffset sampleoffset in seconds 

Parameters:
 MediaItem MediaItem the MediaItem, whose sample-offset-state you want to know; nil, use parameter MediaItemStatechunk instead 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.977Ultraschall version 4.00Lua version 5.3 ^ GetItemPlayRate

Functioncall:

number playbackrate, integer preserve_pitch, number pitch_adjust, integer takepitch_timestretch_mode, integer optimize_tonal_content, number stretch_marker_fadesize = ultraschall.GetItemPlayRate(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns the playback-rate-entries of a MediaItem or MediaItemStateChunk.
It's the PLAYRATE-entry.
Returns nil in case of error.

Returnvalues:
 number playbackrate 1 is 1x, 2 is 2x, 1.8 is 1.8x,etc 
 integer preserve_pitch preserve pitch, 1 - preserve, 0 - don't preserve 
 number pitch_adjust pitch_adjust(semitones); negative values allowed; 1.1=1.1 semitones higher, -0.3=0.3 semitones lower,etc 
 integer takepitch_timestretch_mode - the item's pitchmode - 65536 for project-default
      SoundTouch:
          0 - Default settings
          1 - High Quality
          2 - Fast
      
      Simple windowed (fast):
          131072 - 50ms window, 25ms fade
          131073 - 50ms window, 16ms fade
          131074 - 50ms window, 10ms fade
          131075 - 50ms window, 7ms fade
          131076 - 75ms window, 37ms fade
          131077 - 75ms window, 25ms fade
          131078 - 75ms window, 15ms fade
          131079 - 75ms window, 10ms fade
          131080 - 100ms window, 50ms fade
          131081 - 100ms window, 33ms fade
          131082 - 100ms window, 20ms fade
          131083 - 100ms window, 14ms fade
          131084 - 150ms window, 75ms fade
          131085 - 150ms window, 50ms fade
          131086 - 150ms window, 30ms fade
          131087 - 150ms window, 21ms fade
          131088 - 225ms window, 112ms fade
          131089 - 225ms window, 75ms fade
          131090 - 225ms window, 45ms fade
          131091 - 225ms window, 32ms fade
          131092 - 300ms window, 150ms fade
          131093 - 300ms window, 100ms fade
          131094 - 300ms window, 60ms fade
          131095 - 300ms window, 42ms fade
          131096 - 40ms window, 20ms fade
          131097 - 40ms window, 13ms fade
          131098 - 40ms window, 8ms fade
          131099 - 40ms window, 5ms fade
          131100 - 30ms window, 15ms fade
          131101 - 30ms window, 10ms fade
          131102 - 30ms window, 6ms fade
          131103 - 30ms window, 4ms fade
          131104 - 20ms window, 10ms fade
          131105 - 20ms window, 6ms fade
          131106 - 20ms window, 4ms fade
          131107 - 20ms window, 2ms fade
          131108 - 10ms window, 5ms fade
          131109 - 10ms window, 3ms fade
          131110 - 10ms window, 2ms fade
          131111 - 10ms window, 1ms fade
          131112 - 5ms window, 2ms fade
          131113 - 5ms window, 1ms fade
          131114 - 5ms window, 1ms fade
          131115 - 5ms window, 1ms fade
          131116 - 3ms window, 1ms fade
          131117 - 3ms window, 1ms fade
          131118 - 3ms window, 1ms fade
          131119 - 3ms window, 1ms fade
      
      ÃƒÂ©lastique 2.2.8 Pro:
          393216 - Normal
          393217 - Preserve Formants (Lowest Pitches)
          393218 - Preserve Formants (Lower Pitches)
          393219 - Preserve Formants (Low Pitches)
          393220 - Preserve Formants (Most Pitches)
          393221 - Preserve Formants (High Pitches)
          393222 - Preserve Formants (Higher Pitches)
          393223 - Preserve Formants (Highest Pitches)
          393224 - Mid/Side
          393225 - Mid/Side, Preserve Formants (Lowest Pitches)
          393226 - Mid/Side, Preserve Formants (Lower Pitches)
          393227 - Mid/Side, Preserve Formants (Low Pitches)
          393228 - Mid/Side, Preserve Formants (Most Pitches)
          393229 - Mid/Side, Preserve Formants (High Pitches)
          393230 - Mid/Side, Preserve Formants (Higher Pitches)
          393231 - Mid/Side, Preserve Formants (Highest Pitches)
          393232 - Synchronized: Normal
          393233 - Synchronized: Preserve Formants (Lowest Pitches)
          393234 - Synchronized: Preserve Formants (Lower Pitches)
          393235 - Synchronized: Preserve Formants (Low Pitches)
          393236 - Synchronized: Preserve Formants (Most Pitches)
          393237 - Synchronized: Preserve Formants (High Pitches)
          393238 - Synchronized: Preserve Formants (Higher Pitches)
          393239 - Synchronized: Preserve Formants (Highest Pitches)
          393240 - Synchronized:  Mid/Side
          393241 - Synchronized:  Mid/Side, Preserve Formants (Lowest Pitches)
          393242 - Synchronized:  Mid/Side, Preserve Formants (Lower Pitches)
          393243 - Synchronized:  Mid/Side, Preserve Formants (Low Pitches)
          393244 - Synchronized:  Mid/Side, Preserve Formants (Most Pitches)
          393245 - Synchronized:  Mid/Side, Preserve Formants (High Pitches)
          393246 - Synchronized:  Mid/Side, Preserve Formants (Higher Pitches)
          393247 - Synchronized:  Mid/Side, Preserve Formants (Highest Pitches)
      
      ÃƒÂ©lastique 2.2.8 Efficient:
          458752 - Normal
          458753 - Mid/Side
          458754 - Synchronized: Normal
          458755 - Synchronized: Mid/Side
      
      ÃƒÂ©lastique 2.2.8 Soloist:
          524288 - Monophonic
          524289 - Monophonic [Mid/Side]
          524290 - Speech
          524291 - Speech [Mid/Side]
      
      ÃƒÂ©lastique 3.3.0 Pro:
          589824 - Normal
          589825 - Preserve Formants (Lowest Pitches)
          589826 - Preserve Formants (Lower Pitches)
          589827 - Preserve Formants (Low Pitches)
          589828 - Preserve Formants (Most Pitches)
          589829 - Preserve Formants (High Pitches)
          589830 - Preserve Formants (Higher Pitches)
          589831 - Preserve Formants (Highest Pitches)
          589832 - Mid/Side
          589833 - Mid/Side, Preserve Formants (Lowest Pitches)
          589834 - Mid/Side, Preserve Formants (Lower Pitches)
          589835 - Mid/Side, Preserve Formants (Low Pitches)
          589836 - Mid/Side, Preserve Formants (Most Pitches)
          589837 - Mid/Side, Preserve Formants (High Pitches)
          589838 - Mid/Side, Preserve Formants (Higher Pitches)
          589839 - Mid/Side, Preserve Formants (Highest Pitches)
          589840 - Synchronized: Normal
          589841 - Synchronized: Preserve Formants (Lowest Pitches)
          589842 - Synchronized: Preserve Formants (Lower Pitches)
          589843 - Synchronized: Preserve Formants (Low Pitches)
          589844 - Synchronized: Preserve Formants (Most Pitches)
          589845 - Synchronized: Preserve Formants (High Pitches)
          589846 - Synchronized: Preserve Formants (Higher Pitches)
          589847 - Synchronized: Preserve Formants (Highest Pitches)
          589848 - Synchronized:  Mid/Side
          589849 - Synchronized:  Mid/Side, Preserve Formants (Lowest Pitches)
          589850 - Synchronized:  Mid/Side, Preserve Formants (Lower Pitches)
          589851 - Synchronized:  Mid/Side, Preserve Formants (Low Pitches)
          589852 - Synchronized:  Mid/Side, Preserve Formants (Most Pitches)
          589853 - Synchronized:  Mid/Side, Preserve Formants (High Pitches)
          589854 - Synchronized:  Mid/Side, Preserve Formants (Higher Pitches)
          589855 - Synchronized:  Mid/Side, Preserve Formants (Highest Pitches)
      
      ÃƒÂ©lastique 3.3.0 Efficient:
          655360 - Normal
          655361 - Mid/Side
          655362 - Synchronized: Normal
          655363 - Synchronized: Mid/Side
      
      ÃƒÂ©lastique 3.3.0 Soloist:
          720896 - Monophonic
          720897 - Monophonic [Mid/Side]
          720898 - Speech
          720899 - Speech [Mid/Side]
      
      
      Rubber Band Library - Default
          851968 - nothing
      
      Rubber Band Library - Preserve Formants
          851969 - Preserve Formants
      
      Rubber Band Library - Mid/Side
          851970 - Mid/Side
      
      Rubber Band Library - Preserve Formants, Mid/Side
          851971 - Preserve Formants, Mid/Side
      
      Rubber Band Library - Independent Phase
          851972 - Independent Phase
      
      Rubber Band Library - Preserve Formants, Independent Phase
          851973 - Preserve Formants, Independent Phase
      
      Rubber Band Library - Mid/Side, Independent Phase
          851974 - Mid/Side, Independent Phase
      
      Rubber Band Library - Preserve Formants, Mid/Side, Independent Phase
          851975 - Preserve Formants, Mid/Side, Independent Phase
      
      Rubber Band Library - Time Domain Smoothing
          851976 - Time Domain Smoothing
      
      Rubber Band Library - Preserve Formants, Time Domain Smoothing
          851977 - Preserve Formants, Time Domain Smoothing
      
      Rubber Band Library - Mid/Side, Time Domain Smoothing
          851978 - Mid/Side, Time Domain Smoothing
      
      Rubber Band Library - Preserve Formants, Mid/Side, Time Domain Smoothing
          851979 - Preserve Formants, Mid/Side, Time Domain Smoothing
      
      Rubber Band Library - Independent Phase, Time Domain Smoothing
          851980 - Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Preserve Formants, Independent Phase, Time Domain Smoothing
          851981 - Preserve Formants, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Mid/Side, Independent Phase, Time Domain Smoothing
          851982 - Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
          851983 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed
          851984 - nothing
          851985 - Preserve Formants
          851986 - Mid/Side
          851987 - Preserve Formants, Mid/Side
          851988 - Independent Phase
          851989 - Preserve Formants, Independent Phase
          851990 - Mid/Side, Independent Phase
          851991 - Preserve Formants, Mid/Side, Independent Phase
          851992 - Time Domain Smoothing
          851993 - Preserve Formants, Time Domain Smoothing
          851994 - Mid/Side, Time Domain Smoothing
          851995 - Preserve Formants, Mid/Side, Time Domain Smoothing
          851996 - Independent Phase, Time Domain Smoothing
          851997 - Preserve Formants, Independent Phase, Time Domain Smoothing
          851998 - Mid/Side, Independent Phase, Time Domain Smoothing
          851999 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth
          852000 - nothing
          852001 - Preserve Formants
          852002 - Mid/Side
          852003 - Preserve Formants, Mid/Side
          852004 - Independent Phase
          852005 - Preserve Formants, Independent Phase
          852006 - Mid/Side, Independent Phase
          852007 - Preserve Formants, Mid/Side, Independent Phase
          852008 - Time Domain Smoothing
          852009 - Preserve Formants, Time Domain Smoothing
          852010 - Mid/Side, Time Domain Smoothing
          852011 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852012 - Independent Phase, Time Domain Smoothing
          852013 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852014 - Mid/Side, Independent Phase, Time Domain Smoothing
          852015 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive
          852016 - nothing
          852017 - Preserve Formants
          852018 - Mid/Side
          852019 - Preserve Formants, Mid/Side
          852020 - Independent Phase
          852021 - Preserve Formants, Independent Phase
          852022 - Mid/Side, Independent Phase
          852023 - Preserve Formants, Mid/Side, Independent Phase
          852024 - Time Domain Smoothing
          852025 - Preserve Formants, Time Domain Smoothing
          852026 - Mid/Side, Time Domain Smoothing
          852027 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852028 - Independent Phase, Time Domain Smoothing
          852029 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852030 - Mid/Side, Independent Phase, Time Domain Smoothing
          852031 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive
          852032 - nothing
          852033 - Preserve Formants
          852034 - Mid/Side
          852035 - Preserve Formants, Mid/Side
          852036 - Independent Phase
          852037 - Preserve Formants, Independent Phase
          852038 - Mid/Side, Independent Phase
          852039 - Preserve Formants, Mid/Side, Independent Phase
          852040 - Time Domain Smoothing
          852041 - Preserve Formants, Time Domain Smoothing
          852042 - Mid/Side, Time Domain Smoothing
          852043 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852044 - Independent Phase, Time Domain Smoothing
          852045 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852046 - Mid/Side, Independent Phase, Time Domain Smoothing
          852047 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive
          852048 - nothing
          852049 - Preserve Formants
          852050 - Mid/Side
          852051 - Preserve Formants, Mid/Side
          852052 - Independent Phase
          852053 - Preserve Formants, Independent Phase
          852054 - Mid/Side, Independent Phase
          852055 - Preserve Formants, Mid/Side, Independent Phase
          852056 - Time Domain Smoothing
          852057 - Preserve Formants, Time Domain Smoothing
          852058 - Mid/Side, Time Domain Smoothing
          852059 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852060 - Independent Phase, Time Domain Smoothing
          852061 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852062 - Mid/Side, Independent Phase, Time Domain Smoothing
          852063 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft
          852064 - nothing
          852065 - Preserve Formants
          852066 - Mid/Side
          852067 - Preserve Formants, Mid/Side
          852068 - Independent Phase
          852069 - Preserve Formants, Independent Phase
          852070 - Mid/Side, Independent Phase
          852071 - Preserve Formants, Mid/Side, Independent Phase
          852072 - Time Domain Smoothing
          852073 - Preserve Formants, Time Domain Smoothing
          852074 - Mid/Side, Time Domain Smoothing
          852075 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852076 - Independent Phase, Time Domain Smoothing
          852077 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852078 - Mid/Side, Independent Phase, Time Domain Smoothing
          852079 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft
          852080 - nothing
          852081 - Preserve Formants
          852082 - Mid/Side
          852083 - Preserve Formants, Mid/Side
          852084 - Independent Phase
          852085 - Preserve Formants, Independent Phase
          852086 - Mid/Side, Independent Phase
          852087 - Preserve Formants, Mid/Side, Independent Phase
          852088 - Time Domain Smoothing
          852089 - Preserve Formants, Time Domain Smoothing
          852090 - Mid/Side, Time Domain Smoothing
          852091 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852092 - Independent Phase, Time Domain Smoothing
          852093 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852094 - Mid/Side, Independent Phase, Time Domain Smoothing
          852095 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft
          852096 - nothing
          852097 - Preserve Formants
          852098 - Mid/Side
          852099 - Preserve Formants, Mid/Side
          852100 - Independent Phase
          852101 - Preserve Formants, Independent Phase
          852102 - Mid/Side, Independent Phase
          852103 - Preserve Formants, Mid/Side, Independent Phase
          852104 - Time Domain Smoothing
          852105 - Preserve Formants, Time Domain Smoothing
          852106 - Mid/Side, Time Domain Smoothing
          852107 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852108 - Independent Phase, Time Domain Smoothing
          852109 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852110 - Mid/Side, Independent Phase, Time Domain Smoothing
          852111 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Pitch Mode: HighQ
          852112 - nothing
          852113 - Preserve Formants
          852114 - Mid/Side
          852115 - Preserve Formants, Mid/Side
          852116 - Independent Phase
          852117 - Preserve Formants, Independent Phase
          852118 - Mid/Side, Independent Phase
          852119 - Preserve Formants, Mid/Side, Independent Phase
          852120 - Time Domain Smoothing
          852121 - Preserve Formants, Time Domain Smoothing
          852122 - Mid/Side, Time Domain Smoothing
          852123 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852124 - Independent Phase, Time Domain Smoothing
          852125 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852126 - Mid/Side, Independent Phase, Time Domain Smoothing
          852127 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Pitch Mode: HighQ
          852128 - nothing
          852129 - Preserve Formants
          852130 - Mid/Side
          852131 - Preserve Formants, Mid/Side
          852132 - Independent Phase
          852133 - Preserve Formants, Independent Phase
          852134 - Mid/Side, Independent Phase
          852135 - Preserve Formants, Mid/Side, Independent Phase
          852136 - Time Domain Smoothing
          852137 - Preserve Formants, Time Domain Smoothing
          852138 - Mid/Side, Time Domain Smoothing
          852139 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852140 - Independent Phase, Time Domain Smoothing
          852141 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852142 - Mid/Side, Independent Phase, Time Domain Smoothing
          852143 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Pitch Mode: HighQ
          852144 - nothing
          852145 - Preserve Formants
          852146 - Mid/Side
          852147 - Preserve Formants, Mid/Side
          852148 - Independent Phase
          852149 - Preserve Formants, Independent Phase
          852150 - Mid/Side, Independent Phase
          852151 - Preserve Formants, Mid/Side, Independent Phase
          852152 - Time Domain Smoothing
          852153 - Preserve Formants, Time Domain Smoothing
          852154 - Mid/Side, Time Domain Smoothing
          852155 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852156 - Independent Phase, Time Domain Smoothing
          852157 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852158 - Mid/Side, Independent Phase, Time Domain Smoothing
          852159 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Pitch Mode: HighQ
          852160 - nothing
          852161 - Preserve Formants
          852162 - Mid/Side
          852163 - Preserve Formants, Mid/Side
          852164 - Independent Phase
          852165 - Preserve Formants, Independent Phase
          852166 - Mid/Side, Independent Phase
          852167 - Preserve Formants, Mid/Side, Independent Phase
          852168 - Time Domain Smoothing
          852169 - Preserve Formants, Time Domain Smoothing
          852170 - Mid/Side, Time Domain Smoothing
          852171 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852172 - Independent Phase, Time Domain Smoothing
          852173 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852174 - Mid/Side, Independent Phase, Time Domain Smoothing
          852175 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: HighQ
          852176 - nothing
          852177 - Preserve Formants
          852178 - Mid/Side
          852179 - Preserve Formants, Mid/Side
          852180 - Independent Phase
          852181 - Preserve Formants, Independent Phase
          852182 - Mid/Side, Independent Phase
          852183 - Preserve Formants, Mid/Side, Independent Phase
          852184 - Time Domain Smoothing
          852185 - Preserve Formants, Time Domain Smoothing
          852186 - Mid/Side, Time Domain Smoothing
          852187 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852188 - Independent Phase, Time Domain Smoothing
          852189 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852190 - Mid/Side, Independent Phase, Time Domain Smoothing
          852191 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: HighQ
          852192 - nothing
          852193 - Preserve Formants
          852194 - Mid/Side
          852195 - Preserve Formants, Mid/Side
          852196 - Independent Phase
          852197 - Preserve Formants, Independent Phase
          852198 - Mid/Side, Independent Phase
          852199 - Preserve Formants, Mid/Side, Independent Phase
          852200 - Time Domain Smoothing
          852201 - Preserve Formants, Time Domain Smoothing
          852202 - Mid/Side, Time Domain Smoothing
          852203 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852204 - Independent Phase, Time Domain Smoothing
          852205 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852206 - Mid/Side, Independent Phase, Time Domain Smoothing
          852207 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Pitch Mode: HighQ
          852208 - nothing
          852209 - Preserve Formants
          852210 - Mid/Side
          852211 - Preserve Formants, Mid/Side
          852212 - Independent Phase
          852213 - Preserve Formants, Independent Phase
          852214 - Mid/Side, Independent Phase
          852215 - Preserve Formants, Mid/Side, Independent Phase
          852216 - Time Domain Smoothing
          852217 - Preserve Formants, Time Domain Smoothing
          852218 - Mid/Side, Time Domain Smoothing
          852219 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852220 - Independent Phase, Time Domain Smoothing
          852221 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852222 - Mid/Side, Independent Phase, Time Domain Smoothing
          852223 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: HighQ
          852224 - nothing
          852225 - Preserve Formants
          852226 - Mid/Side
          852227 - Preserve Formants, Mid/Side
          852228 - Independent Phase
          852229 - Preserve Formants, Independent Phase
          852230 - Mid/Side, Independent Phase
          852231 - Preserve Formants, Mid/Side, Independent Phase
          852232 - Time Domain Smoothing
          852233 - Preserve Formants, Time Domain Smoothing
          852234 - Mid/Side, Time Domain Smoothing
          852235 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852236 - Independent Phase, Time Domain Smoothing
          852237 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852238 - Mid/Side, Independent Phase, Time Domain Smoothing
          852239 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: HighQ
          852240 - nothing
          852241 - Preserve Formants
          852242 - Mid/Side
          852243 - Preserve Formants, Mid/Side
          852244 - Independent Phase
          852245 - Preserve Formants, Independent Phase
          852246 - Mid/Side, Independent Phase
          852247 - Preserve Formants, Mid/Side, Independent Phase
          852248 - Time Domain Smoothing
          852249 - Preserve Formants, Time Domain Smoothing
          852250 - Mid/Side, Time Domain Smoothing
          852251 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852252 - Independent Phase, Time Domain Smoothing
          852253 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852254 - Mid/Side, Independent Phase, Time Domain Smoothing
          852255 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Pitch Mode: Consistent
          852256 - nothing
          852257 - Preserve Formants
          852258 - Mid/Side
          852259 - Preserve Formants, Mid/Side
          852260 - Independent Phase
          852261 - Preserve Formants, Independent Phase
          852262 - Mid/Side, Independent Phase
          852263 - Preserve Formants, Mid/Side, Independent Phase
          852264 - Time Domain Smoothing
          852265 - Preserve Formants, Time Domain Smoothing
          852266 - Mid/Side, Time Domain Smoothing
          852267 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852268 - Independent Phase, Time Domain Smoothing
          852269 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852270 - Mid/Side, Independent Phase, Time Domain Smoothing
          852271 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Pitch Mode: Consistent
          852272 - nothing
          852273 - Preserve Formants
          852274 - Mid/Side
          852275 - Preserve Formants, Mid/Side
          852276 - Independent Phase
          852277 - Preserve Formants, Independent Phase
          852278 - Mid/Side, Independent Phase
          852279 - Preserve Formants, Mid/Side, Independent Phase
          852280 - Time Domain Smoothing
          852281 - Preserve Formants, Time Domain Smoothing
          852282 - Mid/Side, Time Domain Smoothing
          852283 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852284 - Independent Phase, Time Domain Smoothing
          852285 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852286 - Mid/Side, Independent Phase, Time Domain Smoothing
          852287 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Pitch Mode: Consistent
          852288 - nothing
          852289 - Preserve Formants
          852290 - Mid/Side
          852291 - Preserve Formants, Mid/Side
          852292 - Independent Phase
          852293 - Preserve Formants, Independent Phase
          852294 - Mid/Side, Independent Phase
          852295 - Preserve Formants, Mid/Side, Independent Phase
          852296 - Time Domain Smoothing
          852297 - Preserve Formants, Time Domain Smoothing
          852298 - Mid/Side, Time Domain Smoothing
          852299 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852300 - Independent Phase, Time Domain Smoothing
          852301 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852302 - Mid/Side, Independent Phase, Time Domain Smoothing
          852303 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Pitch Mode: Consistent
          852304 - nothing
          852305 - Preserve Formants
          852306 - Mid/Side
          852307 - Preserve Formants, Mid/Side
          852308 - Independent Phase
          852309 - Preserve Formants, Independent Phase
          852310 - Mid/Side, Independent Phase
          852311 - Preserve Formants, Mid/Side, Independent Phase
          852312 - Time Domain Smoothing
          852313 - Preserve Formants, Time Domain Smoothing
          852314 - Mid/Side, Time Domain Smoothing
          852315 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852316 - Independent Phase, Time Domain Smoothing
          852317 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852318 - Mid/Side, Independent Phase, Time Domain Smoothing
          852319 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: Consistent
          852320 - nothing
          852321 - Preserve Formants
          852322 - Mid/Side
          852323 - Preserve Formants, Mid/Side
          852324 - Independent Phase
          852325 - Preserve Formants, Independent Phase
          852326 - Mid/Side, Independent Phase
          852327 - Preserve Formants, Mid/Side, Independent Phase
          852328 - Time Domain Smoothing
          852329 - Preserve Formants, Time Domain Smoothing
          852330 - Mid/Side, Time Domain Smoothing
          852331 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852332 - Independent Phase, Time Domain Smoothing
          852333 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852334 - Mid/Side, Independent Phase, Time Domain Smoothing
          852335 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: Consistent
          852336 - nothing
          852337 - Preserve Formants
          852338 - Mid/Side
          852339 - Preserve Formants, Mid/Side
          852340 - Independent Phase
          852341 - Preserve Formants, Independent Phase
          852342 - Mid/Side, Independent Phase
          852343 - Preserve Formants, Mid/Side, Independent Phase
          852344 - Time Domain Smoothing
          852345 - Preserve Formants, Time Domain Smoothing
          852346 - Mid/Side, Time Domain Smoothing
          852347 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852348 - Independent Phase, Time Domain Smoothing
          852349 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852350 - Mid/Side, Independent Phase, Time Domain Smoothing
          852351 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Pitch Mode: Consistent
          852352 - nothing
          852353 - Preserve Formants
          852354 - Mid/Side
          852355 - Preserve Formants, Mid/Side
          852356 - Independent Phase
          852357 - Preserve Formants, Independent Phase
          852358 - Mid/Side, Independent Phase
          852359 - Preserve Formants, Mid/Side, Independent Phase
          852360 - Time Domain Smoothing
          852361 - Preserve Formants, Time Domain Smoothing
          852362 - Mid/Side, Time Domain Smoothing
          852363 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852364 - Independent Phase, Time Domain Smoothing
          852365 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852366 - Mid/Side, Independent Phase, Time Domain Smoothing
          852367 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: Consistent
          852368 - nothing
          852369 - Preserve Formants
          852370 - Mid/Side
          852371 - Preserve Formants, Mid/Side
          852372 - Independent Phase
          852373 - Preserve Formants, Independent Phase
          852374 - Mid/Side, Independent Phase
          852375 - Preserve Formants, Mid/Side, Independent Phase
          852376 - Time Domain Smoothing
          852377 - Preserve Formants, Time Domain Smoothing
          852378 - Mid/Side, Time Domain Smoothing
          852379 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852380 - Independent Phase, Time Domain Smoothing
          852381 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852382 - Mid/Side, Independent Phase, Time Domain Smoothing
          852383 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: Consistent
          852384 - nothing
          852385 - Preserve Formants
          852386 - Mid/Side
          852387 - Preserve Formants, Mid/Side
          852388 - Independent Phase
          852389 - Preserve Formants, Independent Phase
          852390 - Mid/Side, Independent Phase
          852391 - Preserve Formants, Mid/Side, Independent Phase
          852392 - Time Domain Smoothing
          852393 - Preserve Formants, Time Domain Smoothing
          852394 - Mid/Side, Time Domain Smoothing
          852395 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852396 - Independent Phase, Time Domain Smoothing
          852397 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852398 - Mid/Side, Independent Phase, Time Domain Smoothing
          852399 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Window: Short
          852400 - nothing
          852401 - Preserve Formants
          852402 - Mid/Side
          852403 - Preserve Formants, Mid/Side
          852404 - Independent Phase
          852405 - Preserve Formants, Independent Phase
          852406 - Mid/Side, Independent Phase
          852407 - Preserve Formants, Mid/Side, Independent Phase
          852408 - Time Domain Smoothing
          852409 - Preserve Formants, Time Domain Smoothing
          852410 - Mid/Side, Time Domain Smoothing
          852411 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852412 - Independent Phase, Time Domain Smoothing
          852413 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852414 - Mid/Side, Independent Phase, Time Domain Smoothing
          852415 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Window: Short
          852416 - nothing
          852417 - Preserve Formants
          852418 - Mid/Side
          852419 - Preserve Formants, Mid/Side
          852420 - Independent Phase
          852421 - Preserve Formants, Independent Phase
          852422 - Mid/Side, Independent Phase
          852423 - Preserve Formants, Mid/Side, Independent Phase
          852424 - Time Domain Smoothing
          852425 - Preserve Formants, Time Domain Smoothing
          852426 - Mid/Side, Time Domain Smoothing
          852427 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852428 - Independent Phase, Time Domain Smoothing
          852429 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852430 - Mid/Side, Independent Phase, Time Domain Smoothing
          852431 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Window: Short
          852432 - nothing
          852433 - Preserve Formants
          852434 - Mid/Side
          852435 - Preserve Formants, Mid/Side
          852436 - Independent Phase
          852437 - Preserve Formants, Independent Phase
          852438 - Mid/Side, Independent Phase
          852439 - Preserve Formants, Mid/Side, Independent Phase
          852440 - Time Domain Smoothing
          852441 - Preserve Formants, Time Domain Smoothing
          852442 - Mid/Side, Time Domain Smoothing
          852443 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852444 - Independent Phase, Time Domain Smoothing
          852445 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852446 - Mid/Side, Independent Phase, Time Domain Smoothing
          852447 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Window: Short
          852448 - nothing
          852449 - Preserve Formants
          852450 - Mid/Side
          852451 - Preserve Formants, Mid/Side
          852452 - Independent Phase
          852453 - Preserve Formants, Independent Phase
          852454 - Mid/Side, Independent Phase
          852455 - Preserve Formants, Mid/Side, Independent Phase
          852456 - Time Domain Smoothing
          852457 - Preserve Formants, Time Domain Smoothing
          852458 - Mid/Side, Time Domain Smoothing
          852459 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852460 - Independent Phase, Time Domain Smoothing
          852461 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852462 - Mid/Side, Independent Phase, Time Domain Smoothing
          852463 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Window: Short
          852464 - nothing
          852465 - Preserve Formants
          852466 - Mid/Side
          852467 - Preserve Formants, Mid/Side
          852468 - Independent Phase
          852469 - Preserve Formants, Independent Phase
          852470 - Mid/Side, Independent Phase
          852471 - Preserve Formants, Mid/Side, Independent Phase
          852472 - Time Domain Smoothing
          852473 - Preserve Formants, Time Domain Smoothing
          852474 - Mid/Side, Time Domain Smoothing
          852475 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852476 - Independent Phase, Time Domain Smoothing
          852477 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852478 - Mid/Side, Independent Phase, Time Domain Smoothing
          852479 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Window: Short
          852480 - nothing
          852481 - Preserve Formants
          852482 - Mid/Side
          852483 - Preserve Formants, Mid/Side
          852484 - Independent Phase
          852485 - Preserve Formants, Independent Phase
          852486 - Mid/Side, Independent Phase
          852487 - Preserve Formants, Mid/Side, Independent Phase
          852488 - Time Domain Smoothing
          852489 - Preserve Formants, Time Domain Smoothing
          852490 - Mid/Side, Time Domain Smoothing
          852491 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852492 - Independent Phase, Time Domain Smoothing
          852493 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852494 - Mid/Side, Independent Phase, Time Domain Smoothing
          852495 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Window: Short
          852496 - nothing
          852497 - Preserve Formants
          852498 - Mid/Side
          852499 - Preserve Formants, Mid/Side
          852500 - Independent Phase
          852501 - Preserve Formants, Independent Phase
          852502 - Mid/Side, Independent Phase
          852503 - Preserve Formants, Mid/Side, Independent Phase
          852504 - Time Domain Smoothing
          852505 - Preserve Formants, Time Domain Smoothing
          852506 - Mid/Side, Time Domain Smoothing
          852507 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852508 - Independent Phase, Time Domain Smoothing
          852509 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852510 - Mid/Side, Independent Phase, Time Domain Smoothing
          852511 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Window: Short
          852512 - nothing
          852513 - Preserve Formants
          852514 - Mid/Side
          852515 - Preserve Formants, Mid/Side
          852516 - Independent Phase
          852517 - Preserve Formants, Independent Phase
          852518 - Mid/Side, Independent Phase
          852519 - Preserve Formants, Mid/Side, Independent Phase
          852520 - Time Domain Smoothing
          852521 - Preserve Formants, Time Domain Smoothing
          852522 - Mid/Side, Time Domain Smoothing
          852523 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852524 - Independent Phase, Time Domain Smoothing
          852525 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852526 - Mid/Side, Independent Phase, Time Domain Smoothing
          852527 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Window: Short
          852528 - nothing
          852529 - Preserve Formants
          852530 - Mid/Side
          852531 - Preserve Formants, Mid/Side
          852532 - Independent Phase
          852533 - Preserve Formants, Independent Phase
          852534 - Mid/Side, Independent Phase
          852535 - Preserve Formants, Mid/Side, Independent Phase
          852536 - Time Domain Smoothing
          852537 - Preserve Formants, Time Domain Smoothing
          852538 - Mid/Side, Time Domain Smoothing
          852539 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852540 - Independent Phase, Time Domain Smoothing
          852541 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852542 - Mid/Side, Independent Phase, Time Domain Smoothing
          852543 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Pitch Mode: HighQ, Window: Short
          852544 - nothing
          852545 - Preserve Formants
          852546 - Mid/Side
          852547 - Preserve Formants, Mid/Side
          852548 - Independent Phase
          852549 - Preserve Formants, Independent Phase
          852550 - Mid/Side, Independent Phase
          852551 - Preserve Formants, Mid/Side, Independent Phase
          852552 - Time Domain Smoothing
          852553 - Preserve Formants, Time Domain Smoothing
          852554 - Mid/Side, Time Domain Smoothing
          852555 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852556 - Independent Phase, Time Domain Smoothing
          852557 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852558 - Mid/Side, Independent Phase, Time Domain Smoothing
          852559 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Pitch Mode: HighQ, Window: Short
          852560 - nothing
          852561 - Preserve Formants
          852562 - Mid/Side
          852563 - Preserve Formants, Mid/Side
          852564 - Independent Phase
          852565 - Preserve Formants, Independent Phase
          852566 - Mid/Side, Independent Phase
          852567 - Preserve Formants, Mid/Side, Independent Phase
          852568 - Time Domain Smoothing
          852569 - Preserve Formants, Time Domain Smoothing
          852570 - Mid/Side, Time Domain Smoothing
          852571 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852572 - Independent Phase, Time Domain Smoothing
          852573 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852574 - Mid/Side, Independent Phase, Time Domain Smoothing
          852575 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Pitch Mode: HighQ, Window: Short
          852576 - nothing
          852577 - Preserve Formants
          852578 - Mid/Side
          852579 - Preserve Formants, Mid/Side
          852580 - Independent Phase
          852581 - Preserve Formants, Independent Phase
          852582 - Mid/Side, Independent Phase
          852583 - Preserve Formants, Mid/Side, Independent Phase
          852584 - Time Domain Smoothing
          852585 - Preserve Formants, Time Domain Smoothing
          852586 - Mid/Side, Time Domain Smoothing
          852587 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852588 - Independent Phase, Time Domain Smoothing
          852589 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852590 - Mid/Side, Independent Phase, Time Domain Smoothing
          852591 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Pitch Mode: HighQ, Window: Short
          852592 - nothing
          852593 - Preserve Formants
          852594 - Mid/Side
          852595 - Preserve Formants, Mid/Side
          852596 - Independent Phase
          852597 - Preserve Formants, Independent Phase
          852598 - Mid/Side, Independent Phase
          852599 - Preserve Formants, Mid/Side, Independent Phase
          852600 - Time Domain Smoothing
          852601 - Preserve Formants, Time Domain Smoothing
          852602 - Mid/Side, Time Domain Smoothing
          852603 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852604 - Independent Phase, Time Domain Smoothing
          852605 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852606 - Mid/Side, Independent Phase, Time Domain Smoothing
          852607 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: HighQ, Window: Short
          852608 - nothing
          852609 - Preserve Formants
          852610 - Mid/Side
          852611 - Preserve Formants, Mid/Side
          852612 - Independent Phase
          852613 - Preserve Formants, Independent Phase
          852614 - Mid/Side, Independent Phase
          852615 - Preserve Formants, Mid/Side, Independent Phase
          852616 - Time Domain Smoothing
          852617 - Preserve Formants, Time Domain Smoothing
          852618 - Mid/Side, Time Domain Smoothing
          852619 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852620 - Independent Phase, Time Domain Smoothing
          852621 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852622 - Mid/Side, Independent Phase, Time Domain Smoothing
          852623 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: HighQ, Window: Short
          852624 - nothing
          852625 - Preserve Formants
          852626 - Mid/Side
          852627 - Preserve Formants, Mid/Side
          852628 - Independent Phase
          852629 - Preserve Formants, Independent Phase
          852630 - Mid/Side, Independent Phase
          852631 - Preserve Formants, Mid/Side, Independent Phase
          852632 - Time Domain Smoothing
          852633 - Preserve Formants, Time Domain Smoothing
          852634 - Mid/Side, Time Domain Smoothing
          852635 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852636 - Independent Phase, Time Domain Smoothing
          852637 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852638 - Mid/Side, Independent Phase, Time Domain Smoothing
          852639 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Pitch Mode: HighQ, Window: Short
          852640 - nothing
          852641 - Preserve Formants
          852642 - Mid/Side
          852643 - Preserve Formants, Mid/Side
          852644 - Independent Phase
          852645 - Preserve Formants, Independent Phase
          852646 - Mid/Side, Independent Phase
          852647 - Preserve Formants, Mid/Side, Independent Phase
          852648 - Time Domain Smoothing
          852649 - Preserve Formants, Time Domain Smoothing
          852650 - Mid/Side, Time Domain Smoothing
          852651 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852652 - Independent Phase, Time Domain Smoothing
          852653 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852654 - Mid/Side, Independent Phase, Time Domain Smoothing
          852655 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: HighQ, Window: Short
          852656 - nothing
          852657 - Preserve Formants
          852658 - Mid/Side
          852659 - Preserve Formants, Mid/Side
          852660 - Independent Phase
          852661 - Preserve Formants, Independent Phase
          852662 - Mid/Side, Independent Phase
          852663 - Preserve Formants, Mid/Side, Independent Phase
          852664 - Time Domain Smoothing
          852665 - Preserve Formants, Time Domain Smoothing
          852666 - Mid/Side, Time Domain Smoothing
          852667 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852668 - Independent Phase, Time Domain Smoothing
          852669 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852670 - Mid/Side, Independent Phase, Time Domain Smoothing
          852671 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: HighQ, Window: Short
          852672 - nothing
          852673 - Preserve Formants
          852674 - Mid/Side
          852675 - Preserve Formants, Mid/Side
          852676 - Independent Phase
          852677 - Preserve Formants, Independent Phase
          852678 - Mid/Side, Independent Phase
          852679 - Preserve Formants, Mid/Side, Independent Phase
          852680 - Time Domain Smoothing
          852681 - Preserve Formants, Time Domain Smoothing
          852682 - Mid/Side, Time Domain Smoothing
          852683 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852684 - Independent Phase, Time Domain Smoothing
          852685 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852686 - Mid/Side, Independent Phase, Time Domain Smoothing
          852687 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Pitch Mode: Consistent, Window: Short
          852688 - nothing
          852689 - Preserve Formants
          852690 - Mid/Side
          852691 - Preserve Formants, Mid/Side
          852692 - Independent Phase
          852693 - Preserve Formants, Independent Phase
          852694 - Mid/Side, Independent Phase
          852695 - Preserve Formants, Mid/Side, Independent Phase
          852696 - Time Domain Smoothing
          852697 - Preserve Formants, Time Domain Smoothing
          852698 - Mid/Side, Time Domain Smoothing
          852699 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852700 - Independent Phase, Time Domain Smoothing
          852701 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852702 - Mid/Side, Independent Phase, Time Domain Smoothing
          852703 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Pitch Mode: Consistent, Window: Short
          852704 - nothing
          852705 - Preserve Formants
          852706 - Mid/Side
          852707 - Preserve Formants, Mid/Side
          852708 - Independent Phase
          852709 - Preserve Formants, Independent Phase
          852710 - Mid/Side, Independent Phase
          852711 - Preserve Formants, Mid/Side, Independent Phase
          852712 - Time Domain Smoothing
          852713 - Preserve Formants, Time Domain Smoothing
          852714 - Mid/Side, Time Domain Smoothing
          852715 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852716 - Independent Phase, Time Domain Smoothing
          852717 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852718 - Mid/Side, Independent Phase, Time Domain Smoothing
          852719 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Pitch Mode: Consistent, Window: Short
          852720 - nothing
          852721 - Preserve Formants
          852722 - Mid/Side
          852723 - Preserve Formants, Mid/Side
          852724 - Independent Phase
          852725 - Preserve Formants, Independent Phase
          852726 - Mid/Side, Independent Phase
          852727 - Preserve Formants, Mid/Side, Independent Phase
          852728 - Time Domain Smoothing
          852729 - Preserve Formants, Time Domain Smoothing
          852730 - Mid/Side, Time Domain Smoothing
          852731 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852732 - Independent Phase, Time Domain Smoothing
          852733 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852734 - Mid/Side, Independent Phase, Time Domain Smoothing
          852735 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Pitch Mode: Consistent, Window: Short
          852736 - nothing
          852737 - Preserve Formants
          852738 - Mid/Side
          852739 - Preserve Formants, Mid/Side
          852740 - Independent Phase
          852741 - Preserve Formants, Independent Phase
          852742 - Mid/Side, Independent Phase
          852743 - Preserve Formants, Mid/Side, Independent Phase
          852744 - Time Domain Smoothing
          852745 - Preserve Formants, Time Domain Smoothing
          852746 - Mid/Side, Time Domain Smoothing
          852747 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852748 - Independent Phase, Time Domain Smoothing
          852749 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852750 - Mid/Side, Independent Phase, Time Domain Smoothing
          852751 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: Consistent, Window: Short
          852752 - nothing
          852753 - Preserve Formants
          852754 - Mid/Side
          852755 - Preserve Formants, Mid/Side
          852756 - Independent Phase
          852757 - Preserve Formants, Independent Phase
          852758 - Mid/Side, Independent Phase
          852759 - Preserve Formants, Mid/Side, Independent Phase
          852760 - Time Domain Smoothing
          852761 - Preserve Formants, Time Domain Smoothing
          852762 - Mid/Side, Time Domain Smoothing
          852763 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852764 - Independent Phase, Time Domain Smoothing
          852765 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852766 - Mid/Side, Independent Phase, Time Domain Smoothing
          852767 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: Consistent, Window: Short
          852768 - nothing
          852769 - Preserve Formants
          852770 - Mid/Side
          852771 - Preserve Formants, Mid/Side
          852772 - Independent Phase
          852773 - Preserve Formants, Independent Phase
          852774 - Mid/Side, Independent Phase
          852775 - Preserve Formants, Mid/Side, Independent Phase
          852776 - Time Domain Smoothing
          852777 - Preserve Formants, Time Domain Smoothing
          852778 - Mid/Side, Time Domain Smoothing
          852779 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852780 - Independent Phase, Time Domain Smoothing
          852781 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852782 - Mid/Side, Independent Phase, Time Domain Smoothing
          852783 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Pitch Mode: Consistent, Window: Short
          852784 - nothing
          852785 - Preserve Formants
          852786 - Mid/Side
          852787 - Preserve Formants, Mid/Side
          852788 - Independent Phase
          852789 - Preserve Formants, Independent Phase
          852790 - Mid/Side, Independent Phase
          852791 - Preserve Formants, Mid/Side, Independent Phase
          852792 - Time Domain Smoothing
          852793 - Preserve Formants, Time Domain Smoothing
          852794 - Mid/Side, Time Domain Smoothing
          852795 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852796 - Independent Phase, Time Domain Smoothing
          852797 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852798 - Mid/Side, Independent Phase, Time Domain Smoothing
          852799 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: Consistent, Window: Short
          852800 - nothing
          852801 - Preserve Formants
          852802 - Mid/Side
          852803 - Preserve Formants, Mid/Side
          852804 - Independent Phase
          852805 - Preserve Formants, Independent Phase
          852806 - Mid/Side, Independent Phase
          852807 - Preserve Formants, Mid/Side, Independent Phase
          852808 - Time Domain Smoothing
          852809 - Preserve Formants, Time Domain Smoothing
          852810 - Mid/Side, Time Domain Smoothing
          852811 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852812 - Independent Phase, Time Domain Smoothing
          852813 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852814 - Mid/Side, Independent Phase, Time Domain Smoothing
          852815 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: Consistent, Window: Short
          852816 - nothing
          852817 - Preserve Formants
          852818 - Mid/Side
          852819 - Preserve Formants, Mid/Side
          852820 - Independent Phase
          852821 - Preserve Formants, Independent Phase
          852822 - Mid/Side, Independent Phase
          852823 - Preserve Formants, Mid/Side, Independent Phase
          852824 - Time Domain Smoothing
          852825 - Preserve Formants, Time Domain Smoothing
          852826 - Mid/Side, Time Domain Smoothing
          852827 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852828 - Independent Phase, Time Domain Smoothing
          852829 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852830 - Mid/Side, Independent Phase, Time Domain Smoothing
          852831 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Window: Long
          852832 - nothing
          852833 - Preserve Formants
          852834 - Mid/Side
          852835 - Preserve Formants, Mid/Side
          852836 - Independent Phase
          852837 - Preserve Formants, Independent Phase
          852838 - Mid/Side, Independent Phase
          852839 - Preserve Formants, Mid/Side, Independent Phase
          852840 - Time Domain Smoothing
          852841 - Preserve Formants, Time Domain Smoothing
          852842 - Mid/Side, Time Domain Smoothing
          852843 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852844 - Independent Phase, Time Domain Smoothing
          852845 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852846 - Mid/Side, Independent Phase, Time Domain Smoothing
          852847 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Window: Long
          852848 - nothing
          852849 - Preserve Formants
          852850 - Mid/Side
          852851 - Preserve Formants, Mid/Side
          852852 - Independent Phase
          852853 - Preserve Formants, Independent Phase
          852854 - Mid/Side, Independent Phase
          852855 - Preserve Formants, Mid/Side, Independent Phase
          852856 - Time Domain Smoothing
          852857 - Preserve Formants, Time Domain Smoothing
          852858 - Mid/Side, Time Domain Smoothing
          852859 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852860 - Independent Phase, Time Domain Smoothing
          852861 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852862 - Mid/Side, Independent Phase, Time Domain Smoothing
          852863 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Window: Long
          852864 - nothing
          852865 - Preserve Formants
          852866 - Mid/Side
          852867 - Preserve Formants, Mid/Side
          852868 - Independent Phase
          852869 - Preserve Formants, Independent Phase
          852870 - Mid/Side, Independent Phase
          852871 - Preserve Formants, Mid/Side, Independent Phase
          852872 - Time Domain Smoothing
          852873 - Preserve Formants, Time Domain Smoothing
          852874 - Mid/Side, Time Domain Smoothing
          852875 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852876 - Independent Phase, Time Domain Smoothing
          852877 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852878 - Mid/Side, Independent Phase, Time Domain Smoothing
          852879 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Window: Long
          852880 - nothing
          852881 - Preserve Formants
          852882 - Mid/Side
          852883 - Preserve Formants, Mid/Side
          852884 - Independent Phase
          852885 - Preserve Formants, Independent Phase
          852886 - Mid/Side, Independent Phase
          852887 - Preserve Formants, Mid/Side, Independent Phase
          852888 - Time Domain Smoothing
          852889 - Preserve Formants, Time Domain Smoothing
          852890 - Mid/Side, Time Domain Smoothing
          852891 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852892 - Independent Phase, Time Domain Smoothing
          852893 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852894 - Mid/Side, Independent Phase, Time Domain Smoothing
          852895 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Window: Long
          852896 - nothing
          852897 - Preserve Formants
          852898 - Mid/Side
          852899 - Preserve Formants, Mid/Side
          852900 - Independent Phase
          852901 - Preserve Formants, Independent Phase
          852902 - Mid/Side, Independent Phase
          852903 - Preserve Formants, Mid/Side, Independent Phase
          852904 - Time Domain Smoothing
          852905 - Preserve Formants, Time Domain Smoothing
          852906 - Mid/Side, Time Domain Smoothing
          852907 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852908 - Independent Phase, Time Domain Smoothing
          852909 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852910 - Mid/Side, Independent Phase, Time Domain Smoothing
          852911 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Window: Long
          852912 - nothing
          852913 - Preserve Formants
          852914 - Mid/Side
          852915 - Preserve Formants, Mid/Side
          852916 - Independent Phase
          852917 - Preserve Formants, Independent Phase
          852918 - Mid/Side, Independent Phase
          852919 - Preserve Formants, Mid/Side, Independent Phase
          852920 - Time Domain Smoothing
          852921 - Preserve Formants, Time Domain Smoothing
          852922 - Mid/Side, Time Domain Smoothing
          852923 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852924 - Independent Phase, Time Domain Smoothing
          852925 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852926 - Mid/Side, Independent Phase, Time Domain Smoothing
          852927 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Window: Long
          852928 - nothing
          852929 - Preserve Formants
          852930 - Mid/Side
          852931 - Preserve Formants, Mid/Side
          852932 - Independent Phase
          852933 - Preserve Formants, Independent Phase
          852934 - Mid/Side, Independent Phase
          852935 - Preserve Formants, Mid/Side, Independent Phase
          852936 - Time Domain Smoothing
          852937 - Preserve Formants, Time Domain Smoothing
          852938 - Mid/Side, Time Domain Smoothing
          852939 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852940 - Independent Phase, Time Domain Smoothing
          852941 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852942 - Mid/Side, Independent Phase, Time Domain Smoothing
          852943 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Window: Long
          852944 - nothing
          852945 - Preserve Formants
          852946 - Mid/Side
          852947 - Preserve Formants, Mid/Side
          852948 - Independent Phase
          852949 - Preserve Formants, Independent Phase
          852950 - Mid/Side, Independent Phase
          852951 - Preserve Formants, Mid/Side, Independent Phase
          852952 - Time Domain Smoothing
          852953 - Preserve Formants, Time Domain Smoothing
          852954 - Mid/Side, Time Domain Smoothing
          852955 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852956 - Independent Phase, Time Domain Smoothing
          852957 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852958 - Mid/Side, Independent Phase, Time Domain Smoothing
          852959 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Window: Long
          852960 - nothing
          852961 - Preserve Formants
          852962 - Mid/Side
          852963 - Preserve Formants, Mid/Side
          852964 - Independent Phase
          852965 - Preserve Formants, Independent Phase
          852966 - Mid/Side, Independent Phase
          852967 - Preserve Formants, Mid/Side, Independent Phase
          852968 - Time Domain Smoothing
          852969 - Preserve Formants, Time Domain Smoothing
          852970 - Mid/Side, Time Domain Smoothing
          852971 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852972 - Independent Phase, Time Domain Smoothing
          852973 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852974 - Mid/Side, Independent Phase, Time Domain Smoothing
          852975 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Pitch Mode: HighQ, Window: Long
          852976 - nothing
          852977 - Preserve Formants
          852978 - Mid/Side
          852979 - Preserve Formants, Mid/Side
          852980 - Independent Phase
          852981 - Preserve Formants, Independent Phase
          852982 - Mid/Side, Independent Phase
          852983 - Preserve Formants, Mid/Side, Independent Phase
          852984 - Time Domain Smoothing
          852985 - Preserve Formants, Time Domain Smoothing
          852986 - Mid/Side, Time Domain Smoothing
          852987 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852988 - Independent Phase, Time Domain Smoothing
          852989 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852990 - Mid/Side, Independent Phase, Time Domain Smoothing
          852991 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Pitch Mode: HighQ, Window: Long
          852992 - nothing
          852993 - Preserve Formants
          852994 - Mid/Side
          852995 - Preserve Formants, Mid/Side
          852996 - Independent Phase
          852997 - Preserve Formants, Independent Phase
          852998 - Mid/Side, Independent Phase
          852999 - Preserve Formants, Mid/Side, Independent Phase
          853000 - Time Domain Smoothing
          853001 - Preserve Formants, Time Domain Smoothing
          853002 - Mid/Side, Time Domain Smoothing
          853003 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853004 - Independent Phase, Time Domain Smoothing
          853005 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853006 - Mid/Side, Independent Phase, Time Domain Smoothing
          853007 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Pitch Mode: HighQ, Window: Long
          853008 - nothing
          853009 - Preserve Formants
          853010 - Mid/Side
          853011 - Preserve Formants, Mid/Side
          853012 - Independent Phase
          853013 - Preserve Formants, Independent Phase
          853014 - Mid/Side, Independent Phase
          853015 - Preserve Formants, Mid/Side, Independent Phase
          853016 - Time Domain Smoothing
          853017 - Preserve Formants, Time Domain Smoothing
          853018 - Mid/Side, Time Domain Smoothing
          853019 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853020 - Independent Phase, Time Domain Smoothing
          853021 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853022 - Mid/Side, Independent Phase, Time Domain Smoothing
          853023 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Pitch Mode: HighQ, Window: Long
          853024 - nothing
          853025 - Preserve Formants
          853026 - Mid/Side
          853027 - Preserve Formants, Mid/Side
          853028 - Independent Phase
          853029 - Preserve Formants, Independent Phase
          853030 - Mid/Side, Independent Phase
          853031 - Preserve Formants, Mid/Side, Independent Phase
          853032 - Time Domain Smoothing
          853033 - Preserve Formants, Time Domain Smoothing
          853034 - Mid/Side, Time Domain Smoothing
          853035 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853036 - Independent Phase, Time Domain Smoothing
          853037 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853038 - Mid/Side, Independent Phase, Time Domain Smoothing
          853039 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: HighQ, Window: Long
          853040 - nothing
          853041 - Preserve Formants
          853042 - Mid/Side
          853043 - Preserve Formants, Mid/Side
          853044 - Independent Phase
          853045 - Preserve Formants, Independent Phase
          853046 - Mid/Side, Independent Phase
          853047 - Preserve Formants, Mid/Side, Independent Phase
          853048 - Time Domain Smoothing
          853049 - Preserve Formants, Time Domain Smoothing
          853050 - Mid/Side, Time Domain Smoothing
          853051 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853052 - Independent Phase, Time Domain Smoothing
          853053 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853054 - Mid/Side, Independent Phase, Time Domain Smoothing
          853055 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: HighQ, Window: Long
          853056 - nothing
          853057 - Preserve Formants
          853058 - Mid/Side
          853059 - Preserve Formants, Mid/Side
          853060 - Independent Phase
          853061 - Preserve Formants, Independent Phase
          853062 - Mid/Side, Independent Phase
          853063 - Preserve Formants, Mid/Side, Independent Phase
          853064 - Time Domain Smoothing
          853065 - Preserve Formants, Time Domain Smoothing
          853066 - Mid/Side, Time Domain Smoothing
          853067 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853068 - Independent Phase, Time Domain Smoothing
          853069 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853070 - Mid/Side, Independent Phase, Time Domain Smoothing
          853071 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Pitch Mode: HighQ, Window: Long
          853072 - nothing
          853073 - Preserve Formants
          853074 - Mid/Side
          853075 - Preserve Formants, Mid/Side
          853076 - Independent Phase
          853077 - Preserve Formants, Independent Phase
          853078 - Mid/Side, Independent Phase
          853079 - Preserve Formants, Mid/Side, Independent Phase
          853080 - Time Domain Smoothing
          853081 - Preserve Formants, Time Domain Smoothing
          853082 - Mid/Side, Time Domain Smoothing
          853083 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853084 - Independent Phase, Time Domain Smoothing
          853085 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853086 - Mid/Side, Independent Phase, Time Domain Smoothing
          853087 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: HighQ, Window: Long
          853088 - nothing
          853089 - Preserve Formants
          853090 - Mid/Side
          853091 - Preserve Formants, Mid/Side
          853092 - Independent Phase
          853093 - Preserve Formants, Independent Phase
          853094 - Mid/Side, Independent Phase
          853095 - Preserve Formants, Mid/Side, Independent Phase
          853096 - Time Domain Smoothing
          853097 - Preserve Formants, Time Domain Smoothing
          853098 - Mid/Side, Time Domain Smoothing
          853099 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853100 - Independent Phase, Time Domain Smoothing
          853101 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853102 - Mid/Side, Independent Phase, Time Domain Smoothing
          853103 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: HighQ, Window: Long
          853104 - nothing
          853105 - Preserve Formants
          853106 - Mid/Side
          853107 - Preserve Formants, Mid/Side
          853108 - Independent Phase
          853109 - Preserve Formants, Independent Phase
          853110 - Mid/Side, Independent Phase
          853111 - Preserve Formants, Mid/Side, Independent Phase
          853112 - Time Domain Smoothing
          853113 - Preserve Formants, Time Domain Smoothing
          853114 - Mid/Side, Time Domain Smoothing
          853115 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853116 - Independent Phase, Time Domain Smoothing
          853117 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853118 - Mid/Side, Independent Phase, Time Domain Smoothing
          853119 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Pitch Mode: Consistent, Window: Long
          853120 - nothing
          853121 - Preserve Formants
          853122 - Mid/Side
          853123 - Preserve Formants, Mid/Side
          853124 - Independent Phase
          853125 - Preserve Formants, Independent Phase
          853126 - Mid/Side, Independent Phase
          853127 - Preserve Formants, Mid/Side, Independent Phase
          853128 - Time Domain Smoothing
          853129 - Preserve Formants, Time Domain Smoothing
          853130 - Mid/Side, Time Domain Smoothing
          853131 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853132 - Independent Phase, Time Domain Smoothing
          853133 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853134 - Mid/Side, Independent Phase, Time Domain Smoothing
          853135 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Pitch Mode: Consistent, Window: Long
          853136 - nothing
          853137 - Preserve Formants
          853138 - Mid/Side
          853139 - Preserve Formants, Mid/Side
          853140 - Independent Phase
          853141 - Preserve Formants, Independent Phase
          853142 - Mid/Side, Independent Phase
          853143 - Preserve Formants, Mid/Side, Independent Phase
          853144 - Time Domain Smoothing
          853145 - Preserve Formants, Time Domain Smoothing
          853146 - Mid/Side, Time Domain Smoothing
          853147 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853148 - Independent Phase, Time Domain Smoothing
          853149 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853150 - Mid/Side, Independent Phase, Time Domain Smoothing
          853151 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Pitch Mode: Consistent, Window: Long
          853152 - nothing
          853153 - Preserve Formants
          853154 - Mid/Side
          853155 - Preserve Formants, Mid/Side
          853156 - Independent Phase
          853157 - Preserve Formants, Independent Phase
          853158 - Mid/Side, Independent Phase
          853159 - Preserve Formants, Mid/Side, Independent Phase
          853160 - Time Domain Smoothing
          853161 - Preserve Formants, Time Domain Smoothing
          853162 - Mid/Side, Time Domain Smoothing
          853163 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853164 - Independent Phase, Time Domain Smoothing
          853165 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853166 - Mid/Side, Independent Phase, Time Domain Smoothing
          853167 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Pitch Mode: Consistent, Window: Long
          853168 - nothing
          853169 - Preserve Formants
          853170 - Mid/Side
          853171 - Preserve Formants, Mid/Side
          853172 - Independent Phase
          853173 - Preserve Formants, Independent Phase
          853174 - Mid/Side, Independent Phase
          853175 - Preserve Formants, Mid/Side, Independent Phase
          853176 - Time Domain Smoothing
          853177 - Preserve Formants, Time Domain Smoothing
          853178 - Mid/Side, Time Domain Smoothing
          853179 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853180 - Independent Phase, Time Domain Smoothing
          853181 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853182 - Mid/Side, Independent Phase, Time Domain Smoothing
          853183 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: Consistent, Window: Long
          853184 - nothing
          853185 - Preserve Formants
          853186 - Mid/Side
          853187 - Preserve Formants, Mid/Side
          853188 - Independent Phase
          853189 - Preserve Formants, Independent Phase
          853190 - Mid/Side, Independent Phase
          853191 - Preserve Formants, Mid/Side, Independent Phase
          853192 - Time Domain Smoothing
          853193 - Preserve Formants, Time Domain Smoothing
          853194 - Mid/Side, Time Domain Smoothing
          853195 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853196 - Independent Phase, Time Domain Smoothing
          853197 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853198 - Mid/Side, Independent Phase, Time Domain Smoothing
          853199 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: Consistent, Window: Long
          853200 - nothing
          853201 - Preserve Formants
          853202 - Mid/Side
          853203 - Preserve Formants, Mid/Side
          853204 - Independent Phase
          853205 - Preserve Formants, Independent Phase
          853206 - Mid/Side, Independent Phase
          853207 - Preserve Formants, Mid/Side, Independent Phase
          853208 - Time Domain Smoothing
          853209 - Preserve Formants, Time Domain Smoothing
          853210 - Mid/Side, Time Domain Smoothing
          853211 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853212 - Independent Phase, Time Domain Smoothing
          853213 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853214 - Mid/Side, Independent Phase, Time Domain Smoothing
          853215 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Pitch Mode: Consistent, Window: Long
          853216 - nothing
          853217 - Preserve Formants
          853218 - Mid/Side
          853219 - Preserve Formants, Mid/Side
          853220 - Independent Phase
          853221 - Preserve Formants, Independent Phase
          853222 - Mid/Side, Independent Phase
          853223 - Preserve Formants, Mid/Side, Independent Phase
          853224 - Time Domain Smoothing
          853225 - Preserve Formants, Time Domain Smoothing
          853226 - Mid/Side, Time Domain Smoothing
          853227 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853228 - Independent Phase, Time Domain Smoothing
          853229 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853230 - Mid/Side, Independent Phase, Time Domain Smoothing
          853231 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: Consistent, Window: Long
          853232 - nothing
          853233 - Preserve Formants
          853234 - Mid/Side
          853235 - Preserve Formants, Mid/Side
          853236 - Independent Phase
          853237 - Preserve Formants, Independent Phase
          853238 - Mid/Side, Independent Phase
          853239 - Preserve Formants, Mid/Side, Independent Phase
          853240 - Time Domain Smoothing
          853241 - Preserve Formants, Time Domain Smoothing
          853242 - Mid/Side, Time Domain Smoothing
          853243 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853244 - Independent Phase, Time Domain Smoothing
          853245 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853246 - Mid/Side, Independent Phase, Time Domain Smoothing
          853247 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: Consistent, Window: Long
          853248 - nothing
          853249 - Preserve Formants
          853250 - Mid/Side
          853251 - Preserve Formants, Mid/Side
          853252 - Independent Phase
          853253 - Preserve Formants, Independent Phase
          853254 - Mid/Side, Independent Phase
          853255 - Preserve Formants, Mid/Side, Independent Phase
          853256 - Time Domain Smoothing
          853257 - Preserve Formants, Time Domain Smoothing
          853258 - Mid/Side, Time Domain Smoothing
          853259 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853260 - Independent Phase, Time Domain Smoothing
          853261 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853262 - Mid/Side, Independent Phase, Time Domain Smoothing
          853263 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing 
 integer optimize_tonal_content 2, checkbox for optimize-tonal-content is set on; 0, checkbox for optimize-tonal-content is set off 
 number stretch_marker_fadesize in milliseconds; negative values are allowed 

Parameters:
 MediaItem MediaItem the MediaItem, whose playback-rate-state you want to know; nil, use parameter MediaItemStatechunk instead 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemChanMode

Functioncall:

integer channelmode = ultraschall.GetItemChanMode(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns the channelmode-entry of a MediaItem or MediaItemStateChunk.
It's the CHANMODE-entry
Returns nil in case of error.

Returnvalues:
 integer channelmode channelmode of the MediaItem
0 - normal
1 - reverse stereo
2 - Mono (Mix L+R)
3 - Mono Left
4 - Mono Right
5 - Mono 3
...
66 - Mono 64
67 - Stereo 1/2
...
129 - Stereo 63/64 

Parameters:
 MediaItem MediaItem the MediaItem, whose channelmode-state you want to know; nil, use parameter MediaItemStatechunk instead 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemGUID

Functioncall:

string GUID = ultraschall.GetItemGUID(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns the GUID-entry of a MediaItem or MediaItemStateChunk.
Returns nil in case of error.

Returnvalues:
 string GUID the GUID of the item 

Parameters:
 MediaItem MediaItem the MediaItem, whose GUID-state you want to know; nil, use parameter MediaItemStatechunk instead 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemRecPass

Functioncall:

integer recpass_state = ultraschall.GetItemRecPass(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns the recpass-entry of a MediaItem or MediaItemStateChunk.
It's the counter of the recorded item-takes within a project, ordered by the order of recording. Only displayed with recorded item-takes, not imported ones.

It's the RECPASS-entry.
Returns nil in case of error.

Returnvalues:
 integer recpass_state the number of recorded mediaitem; every recorded item gets it's counting-number. 

Parameters:
 MediaItem MediaItem the MediaItem, whose recpass-state you want to know; nil, use parameter MediaItemStatechunk instead 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemBeat

Functioncall:

integer beatstate = ultraschall.GetItemBeat(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns the beatstate/timebase-entry of a MediaItem or MediaItemStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer beatstate the item-timebase state
nil - Track/project default timebase
0 - Time
1 - Beats (posiiton, length, rate)
2 - Beats (position only) 

Parameters:
 MediaItem MediaItem the MediaItem, whose beatstate/timebase-state you want to know; nil, use parameter MediaItemStatechunk instead 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemMixFlag

Functioncall:

integer itemmix_state = ultraschall.GetItemMixFlag(MediaItem MediaItem, optional string MediaItemStateChunk)

Description:
Returns the item-mix-behavior-entry of a MediaItemStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer itemmix_state the item-mix-behavior
nil - Project Default item mix behavior
0 - Enclosed items replace enclosing items
1 - Items always mix
2 - Items always replace earlier items 

Parameters:
 MediaItem MediaItem the MediaItem, whose item-mix-behavior-state you want to know; nil, use parameter MediaItemStatechunk instead 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemUSTrackNumber_StateChunk

Functioncall:

integer tracknumber, MediaTrack track = ultraschall.GetItemUSTrackNumber_StateChunk(string MediaItemStateChunk)

Description:
Returns the tracknumber as well as the mediatrack-object from where the mediaitem was from, as given by a MediaItemStateChunk.
This works only, if the StateChunk contains the entry "ULTRASCHALL_TRACKNUMBER", which holds the original tracknumber of the MediaItem.

This entry will only be added by functions from the Ultraschall-API, like GetAllMediaItemsBetween
Returns -1 in case of error.

Returnvalues:
 integer tracknumber the tracknumber, where this item came from; starts with 1 for the first track! 
 MediaTrack track the accompanying track as MediaTrack-object 

Parameters:
 string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetItemUSTrackNumber_StateChunk

Functioncall:

string MediaItemStateChunk = ultraschall.SetItemUSTrackNumber_StateChunk(string MediaItemStateChunk, integer tracknumber)

Description:
Adds/Replaces the entry "ULTRASCHALL_TRACKNUMBER" in a MediaItemStateChunk, that tells other Ultraschall-Apifunctions, from which track this item originated from.
It returns the modified MediaItemStateChunk.
Returns -1 in case of error.

Returnvalues:
 string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 

Parameters:
 string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 
 integer tracknumber the tracknumber you want to set, with 1 for track 1, 2 for track 2 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetItemPosition

Functioncall:

string MediaItemStateChunk = ultraschall.SetItemPosition(MediaItem MediaItem, integer position, optional string MediaItemStateChunk)

Description:
Sets position in a MediaItem or MediaItemStateChunk in seconds.
It returns the modified MediaItemStateChunk.
Returns -1 in case of error.

Returnvalues:
 string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 

Parameters:
 MediaItem MediaItem the MediaItem, whose state you want to change; nil, use parameter MediaItemStateChunk instead 
 integer position position in seconds 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetItemLength

Functioncall:

string MediaItemStateChunk = ultraschall.SetItemLength(MediaItem MediaItem, integer length, string MediaItemStateChunk)

Description:
Sets length in a MediaItem and MediaItemStateChunk in seconds.
It returns the modified MediaItemStateChunk.
Returns -1 in case of error.

Returnvalues:
 string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 

Parameters:
 MediaItem MediaItem the MediaItem, whose state you want to change; nil, use parameter MediaItemStateChunk instead 
 integer length length in seconds 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetItemStateChunk

Functioncall:

boolean retval, string MediaItemStateChunk = ultraschall.GetItemStateChunk(MediaItem MediaItem, boolean AddTracknumber)

Description:
Returns the statechunk of MediaItem. Parameter AddTracknumber allows you to set, whether the tracknumber of the MediaItem shall be inserted to the statechunk as well, by the new entry "ULTRASCHALL_TRACKNUMBER".

returns false in case of an error

Returnvalues:
 boolean retval true, if getting the statechunk was successful; false, if not 
 string MediaItemStateChunk the statechunk of the MediaItem 

Parameters:
 MediaItem MediaItem the MediaItem, whose statechunk you want to have 
 boolean AddTracknumber nil or true; add the tracknumber, where the MediaItem lies, as additional entry entry "ULTRASCHALL_TRACKNUMBER" to the statechunk; false, just return the original statechunk. 


^ Reaper version 6.11Ultraschall version 4.1Lua version 5.3 ^ GetItem_Video_IgnoreAudio

Functioncall:

boolean checked_state = ultraschall.GetItem_Video_IgnoreAudio(MediaItem Item, integer take_index, optional string StateChunk)

Description:
Gets the "Ignore audio"-checkbox of a video-item-source in a specific MediaItem-take.

Returns nil in case of an error(no video source in take)

Returnvalues:
 boolean checked_state true, checkbox is checked; false, checkbox is unchecked 



^ Reaper version 6.11Ultraschall version 4.1Lua version 5.3 ^ SetItem_Video_IgnoreAudio

Functioncall:

string statechunk = ultraschall.GetItem_Video_IgnoreAudio(MediaItem Item, integer take_index, boolean checkbox_state, optional string StateChunk)

Description:
Sets the "Ignore audio"-checkbox of a video-item-source in a specific MediaItem-take.

Returns nil in case of an error(no video source in take)

Returnvalues:
 string statechunk the altered statechunk 



^ Reaper version 5.92Ultraschall version 4.00Lua version 5.3 ^ IsValidMediaItemStateChunk

Functioncall:

boolean retval = ultraschall.IsValidMediaItemStateChunk(string MediaItemStateChunk)

Description:
Checks, whether MediaItemStateChunk is a valide MediaItemStateChunk.

Returns false in case of an error

Returnvalues:
 boolean retval true, MediaItemStateChunk is valid; false, MediaItemStateChunk isn't a valid statechunk 

Parameters:
 string MediaItemStateChunk the string to check, if it's a valid MediaItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CheckMediaItemArray

Functioncall:

boolean retval, integer count, array retMediaItemArray = ultraschall.CheckMediaItemArray(array MediaItemArray)

Description:
Checks, whether MediaItemArray is valid.
It throws out all entries, that are not MediaItems and returns the altered array as result.

returns false in case of error or if it is not a valid MediaItemArray

Returnvalues:
 boolean retval returns true if MediaItemArray is valid, false if not 
 integer count the number of entries in the returned retMediaItemArray 
 array retMediaItemArray the, possibly, altered MediaItemArray 

Parameters:
 array MediaItemArray a MediaItemArray that shall be checked for validity 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsValidMediaItemArray

Functioncall:

boolean retval, integer count, array retMediaItemArray = ultraschall.IsValidMediaItemArray(array MediaItemArray)

Description:
Checks, whether MediaItemArray is valid.
It throws out all entries, that are not MediaItems and returns the altered array as result.

returns false in case of an error or if it is not a valid MediaItemArray

Returnvalues:
 boolean retval returns true if MediaItemArray is valid, false if not 
 integer count the number of entries in the returned retMediaItemArray 
 array retMediaItemArray the, possibly, altered MediaItemArray 

Parameters:
 array MediaItemArray a MediaItemArray that shall be checked for validity 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CheckMediaItemStateChunkArray

Functioncall:

boolean retval, integer count, array retMediaItemStateChunkArray = ultraschall.CheckMediaItemStateChunkArray(array MediaItemStateChunkArray)

Description:
Checks, whether MediaItemStateChunkArray is valid.
It throws out all entries, that are not MediaItemStateChunks and returns the altered array as result.

returns false in case of an error or if it is not a valid MediaItemStateChunkArray

Returnvalues:
 boolean retval returns true if MediaItemStateChunkArray is valid, false if not 
 integer count the number of entries in the returned retMediaItemStateChunkArray 
 array retMediaItemStateChunkArray the, possibly, altered MediaItemStateChunkArray 

Parameters:
 array MediaItemStateChunkArray a MediaItemStateChunkArray that shall be checked for validity 


^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ IsValidMediaItemStateChunkArray

Functioncall:

boolean retval, integer count, array retMediaItemStateChunkArray = ultraschall.IsValidMediaItemStateChunkArray(array MediaItemStateChunkArray)

Description:
Checks, whether MediaItemStateChunkArray is valid.
It throws out all entries, that are not MediaItemStateChunks and returns the altered array as result.

returns false in case of an error or if it is not a valid MediaItemStateChunkArray

Returnvalues:
 boolean retval returns true if MediaItemStateChunkArray is valid, false if not 
 integer count the number of entries in the returned retMediaItemStateChunkArray 
 array retMediaItemStateChunkArray the, possibly, altered MediaItemStateChunkArray 

Parameters:
 array MediaItemStateChunkArray a MediaItemStateChunkArray that shall be checked for validity 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetMediaItemsAtPosition

Functioncall:

integer number_of_items, array MediaItemArray, array MediaItemStateChunkArray = ultraschall.GetMediaItemsAtPosition(number position, string trackstring)

Description:
Gets all Mediaitems at position, from the tracks given by trackstring.
Returns a MediaItemArray with the found MediaItems

returns -1 in case of error

Returnvalues:
 integer number_of_items the number of items at position 
 array MediaItemArray an array, that contains all MediaItems at position from the tracks given by trackstring. 
 array MediaItemStateChunkArray an array, that contains all Mediaitem's MediaItemStatechunks at position from the tracks given by trackstring. 

Parameters:
 number position position in seconds 
 string trackstring the tracknumbers, separated by a comma 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ OnlyMediaItemsOfTracksInTrackstring

Functioncall:

integer retval, array MediaItemArray = ultraschall.OnlyMediaItemsOfTracksInTrackstring(array MediaItemArray, string trackstring)

Description:
Throws all MediaItems out of the MediaItemArray, that are not within the tracks, as given with trackstring.
Returns the "cleared" MediaItemArray

returns -1 in case of error

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 array MediaItemArray the "cleared" array, that contains only Items in tracks, as given by trackstring, -1 in case of error 

Parameters:
 array MediaItemArray an array with MediaItems; no nil-entries allowed, will be seen as the end of the array 
 string trackstring the tracknumbers, separated by a comma 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SplitMediaItems_Position

Functioncall:

boolean retval, array MediaItemArray = ultraschall.SplitMediaItems_Position(number position, string trackstring, boolean crossfade)

Description:
Splits items at position, in the tracks given by trackstring.
If auto-crossfade is set in the Reaper-preferences, crossfade turns it on(true) or off(false).

Returns false, in case of error.

Returnvalues:
 boolean retval true - success, false - error 
 array MediaItemArray an array with the items on the right side of the split 

Parameters:
 number position the position in seconds 
 string trackstring the numbers for the tracks, where split shall be applied to; numbers separated by a comma 
 boolean crossfade true or nil, automatic crossfade(if enabled) will be applied; false, automatic crossfade is off 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SplitItemsAtPositionFromArray

Functioncall:

boolean retval, array MediaItemArray = ultraschall.SplitItemsAtPositionFromArray(number position, array MediaItemArray, boolean crossfade)

Description:
Splits items in MediaItemArray at position, in the tracks given by trackstring.
If auto-crossfade is set in the Reaper-preferences, crossfade turns it on(true) or off(false).

Returns false, in case of error.

Returnvalues:
 boolean retval true - success, false - error 
 array MediaItemArray an array with the items on the right side of the split 

Parameters:
 number position the position in seconds 
 array MediaItemArray an array with the items, where split shall be applied to. No nil-entries allowed! 
 boolean crossfade true - automatic crossfade(if enabled) will be applied; false - automatic crossfade is off 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ DeleteMediaItem

Functioncall:

boolean retval, string MediaItemStateChunk = ultraschall.DeleteMediaItem(MediaItem MediaItem)

Description:
deletes a MediaItem. Returns true, in case of success, false in case of error.

returns the MediaItemStateChunk of the deleted MediaItem as well, so you can do additional processing with a deleted item.

returns false in case of an error

Returnvalues:
 boolean retval true, delete was successful; false was unsuccessful 
 string MediaItemStateChunk the StateChunk of the deleted MediaItem
the statechunk contains an additional entry "ULTRASCHALL_TRACKNUMBER" which holds the tracknumber, in which the deleted MediaItem was located 

Parameters:
 MediaItem MediaItem the MediaItem to be deleted 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ DeleteMediaItemsFromArray

Functioncall:

boolean retval, array MediaItemArray = ultraschall.DeleteMediaItemsFromArray(array MediaItemArray)

Description:
deletes the MediaItems from MediaItemArray. Returns true, in case of success, false in case of error.
In addition, it returns a MediaItemStateChunkArray, that contains the statechunks of all deleted MediaItems

returns false in case of an error

Returnvalues:
 boolean retval true, delete was successful; false was unsuccessful 
 array MediaItemStateChunkArray and array with all statechunks of all deleted MediaItems;
each statechunk contains an additional entry "ULTRASCHALL_TRACKNUMBER" which holds the tracknumber, in which the deleted MediaItem was located 

Parameters:
 array MediaItemArray a array with MediaItem-objects to delete; no nil entries allowed 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ DeleteMediaItems_Position

Functioncall:

boolean retval, array MediaItemStateChunkArray = ultraschall.DeleteMediaItems_Position(number position, string trackstring)

Description:
Delete the MediaItems at given position, from the tracks as given by trackstring.
returns, if deleting was successful and an array with all statechunks of all deleted MediaItems

returns false in case of an error

Returnvalues:
 boolean retval true, delete was successful; false was unsuccessful 
 array MediaItemStateChunkArray and array with all statechunks of all deleted MediaItems;
each statechunk contains an additional entry "ULTRASCHALL_TRACKNUMBER" which holds the tracknumber, in which the deleted MediaItem was located 

Parameters:
 number position the position in seconds 
 string trackstring the tracknumbers, separated by a comma 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetAllMediaItemsBetween

Functioncall:

integer count, array MediaItemArray, array MediaItemStateChunkArray = ultraschall.GetAllMediaItemsBetween(number startposition, number endposition, string trackstring, boolean inside)

Description:
Gets all MediaItems between startposition and endposition from the tracks as given by trackstring.
Set inside to true to get only items, that are fully within the start and endposition, set it to false, if you also want items, that are just partially inside(end or just the beginning of the item).

Returns the number of items, an array with all the MediaItems and an array with all the MediaItemStateChunks of the items, as used by functions as InsertMediaItem_MediaItemStateChunk, reaper.GetItemStateChunk and reaper.SetItemStateChunk.
The statechunks include a new element "ULTRASCHALL_TRACKNUMBER", which contains the tracknumber of where the item originally was in; important, if you delete the items as you'll otherwise loose this information!
Returns -1 in case of failure.

Returnvalues:
 integer count the number of found items 
 array MediaItemArray an array with all the found MediaItems 
 array MediaItemStateChunkArray an array with the MediaItemStateChunks, that can be used to create new items with InsertMediaItem_MediaItemStateChunk 

Parameters:
 number startposition startposition in seconds 
 number endposition endposition in seconds 
 string trackstring the tracknumbers, separated by a comma 
 boolean inside true, only items that are completely within selection; false, include items that are partially within selection 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ MoveMediaItemsAfter_By

Functioncall:

boolean retval = ultraschall.MoveMediaItemsAfter_By(number old_position, number change_position_by, string trackstring)

Description:
Moves all items after old_position by change_position_by-seconds. Affects only items, that begin after oldposition, so items that start before and end after old_position do not move.

Returns false in case of failure, true in case of success.

Returnvalues:
 boolean retval true in case of success; false in case of failure 

Parameters:
 number oldposition the position, from where the movement shall be applied to, in seconds 
 number change_position_by the change of the position in seconds; positive - toward the end of the project, negative - toward the beginning. 
 string trackstring the tracknumbers, separated by a comma 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ MoveMediaItemsBefore_By

Functioncall:

boolean retval = ultraschall.MoveMediaItemsBefore_By(number old_position, number change_position_by, string trackstring)

Description:
Moves all items before old_position by change_position_by-seconds. Affects only items, that end before oldposition, so items that start before and end after old_position do not move.

Returns false in case of failure, true in case of success.

Returnvalues:
 boolean retval true in case of success; false in case of failure 

Parameters:
 number oldposition the position, from where the movement shall be applied to, in seconds 
 number change_position_by the change of the position in seconds; positive - toward the end of the project, negative - toward the beginning. 
 string trackstring the tracknumbers, separated by a comma 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ MoveMediaItemsBetween_To

Functioncall:

boolean retval = ultraschall.MoveMediaItemsBetween_To(number startposition, number endposition, number newposition, string trackstring, boolean inside)

Description:
Moves the items between sectionstart and sectionend to newposition, within the tracks given by trackstring.
If inside is set to true, only items completely within the section are moved; if set to false, also items are affected, that are just partially within the section.

Items, that start after sectionstart, and therefore have an offset, will be moved to newposition+their offset. Keep that in mind.

Returns false in case of failure, true in case of success.

Returnvalues:
 boolean retval true in case of success; false in case of failure 

Parameters:
 number startposition begin of the item-selection in seconds 
 number endposition end of the item-selection in seconds 
 number newposition new position in seconds 
 string trackstring the tracknumbers, separated by a , 
 boolean inside true, only items completely within the section; false, also items partially within the section 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ChangeLengthOfMediaItems_FromArray

Functioncall:

boolean retval = ultraschall.ChangeLengthOfMediaItems_FromArray(array MediaItemArray, number newlength)

Description:
Changes the length of the MediaItems in MediaItemArray to newlength.
They will all be set to the new length, regardless of their old length. If you want to change the length of the items not >to< newlength, but >by< newlength, use ChangeDeltaLengthOfMediaItems_FromArray instead.

Returns false in case of failure, true in case of success.

Returnvalues:
 boolean retval true in case of success; false in case of failure 

Parameters:
 array MediaItemArray an array with items to be changed. No nil entries allowed! 
 number newlength the new length of the items in seconds 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ChangeDeltaLengthOfMediaItems_FromArray

Functioncall:

boolean retval = ultraschall.ChangeDeltaLengthOfMediaItems_FromArray(array MediaItemArray, number deltalength)

Description:
Changes the length of the MediaItems in MediaItemArray by deltalength.
If you want to change the length of the items not >by< deltalength, but >to< deltalength, use ChangeLengthOfMediaItems_FromArray instead.

Returns false in case of failure, true in case of success.

Returnvalues:
 boolean retval true in case of success; false in case of failure 

Parameters:
 array MediaItemArray an array with items to be changed. No nil entries allowed! 
 number deltalength the change of the length of the items in seconds, positive value - longer, negative value - shorter 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ChangeOffsetOfMediaItems_FromArray

Functioncall:

boolean retval = ultraschall.ChangeOffsetOfMediaItems_FromArray(array MediaItemArray, number newoffset)

Description:
Changes the audio-offset of the MediaItems in MediaItemArray to newoffset.
It affects all(!) takes that the MediaItems has.
If you want to change the offset of the items not >to< newoffset, but >by< newoffset, use ChangeDeltaOffsetOfMediaItems_FromArray instead.

Returns false in case of failure, true in case of success.

Returnvalues:
 boolean retval true, in case of success; false, in case of failure 

Parameters:
 array MediaItemArray an array with items to be changed. No nil entries allowed! 
 number newoffset the new offset of the items in seconds 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ChangeDeltaOffsetOfMediaItems_FromArray

Functioncall:

boolean retval = ultraschall.ChangeDeltaOffsetOfMediaItems_FromArray(array MediaItemArray, number deltaoffset)

Description:
Changes the audio-offset of the MediaItems in MediaItemArray by deltaoffset.
It affects all(!) takes of the MediaItems have.
If you want to change the offset of the items not >by< deltaoffset, but >to< deltaoffset, use ChangeOffsetOfMediaItems_FromArray instead.

Returns false in case of failure, true in case of success.

Returnvalues:
 boolean retval true in case of success; false in case of failure 

Parameters:
 array MediaItemArray an array with items to be changed. No nil entries allowed! 
 number newoffset the new offset of the items in seconds 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SectionCut

Functioncall:

integer number_items, array MediaItemArray_StateChunk = ultraschall.SectionCut(number startposition, number endposition, string trackstring, boolean add_to_clipboard)

Description:
Cuts out all items between startposition and endposition in the tracks given by trackstring.

Returns number of cut items as well as an array with the mediaitem-statechunks, which can be used with functions as InsertMediaItem_MediaItemStateChunk, reaper.GetItemStateChunk and reaper.SetItemStateChunk.
Returns -1 in case of failure.

Returnvalues:
 integer number_items the number of cut items 
 array MediaItemArray_StateChunk an array with the mediaitem-states of the cut items. 

Parameters:
 number startposition the startposition of the section in seconds 
 number endposition the endposition of the section in seconds 
 string trackstring the tracknumbers, separated by , 
 boolean add_to_clipboard true, puts the cut items into the clipboard; false, don't put into the clipboard 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SectionCut_Inverse

Functioncall:

integer number_items_beforestart, array MediaItemArray_StateChunk_beforestart, integer number_items_afterend, array MediaItemArray_StateChunk_afterend = ultraschall.SectionCut_Inverse(number startposition, number endposition, string trackstring, boolean add_to_clipboard)

Description:
Cuts out all items before(!) startposition and after(!) endposition in the tracks given by trackstring; it keeps all items inbetween startposition and endposition.

Returns number of cut items as well as an array with the mediaitem-statechunks, which can be used with functions as InsertMediaItem_MediaItemStateChunk, reaper.GetItemStateChunk and reaper.SetItemStateChunk.

Returns -1 in case of failure.

Returnvalues:
 integer number_items_beforestart the number of cut items before startposition 
 array MediaItemArray_StateChunk_beforestart an array with the mediaitem-states of the cut items before startposition 
 integer number_items_afterend the number of cut items after endposition 
 array MediaItemArray_StateChunk_afterend an array with the mediaitem-states of the cut items after endposition 

Parameters:
 number startposition the startposition of the section in seconds 
 number endposition the endposition of the section in seconds 
 string trackstring the tracknumbers, separated by , 
 boolean add_to_clipboard true, puts the cut items into the clipboard; false, don't put into the clipboard 


^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ RippleCut

Functioncall:

integer number_items, array MediaItemArray_StateChunk = ultraschall.RippleCut(number startposition, number endposition, string trackstring, boolean moveenvelopepoints, boolean add_to_clipboard, boolean movemarkers)

Description:
Cuts out all items between startposition and endposition in the tracks given by trackstring. After cut, it moves the remaining items after(!) endposition toward projectstart, by the difference between start and endposition.

Returns number of cut items as well as an array with the mediaitem-statechunks, which can be used with functions as InsertMediaItem_MediaItemStateChunk, reaper.GetItemStateChunk and reaper.SetItemStateChunk.

Returns -1 in case of failure.

Returnvalues:
 integer number_items the number of cut items 
 array MediaItemArray_StateChunk an array with the mediaitem-states of the cut items 

Parameters:
 number startposition the startposition of the section in seconds 
 number endposition the endposition of the section in seconds 
 string trackstring the tracknumbers, separated by , 
 boolean moveenvelopepoints moves envelopepoints, if existing, as well 
 boolean add_to_clipboard true, puts the cut items into the clipboard; false, don't put into the clipboard 
 boolean movemarkers true or nil, move markers; false, don't move markers 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ RippleCut_Reverse

Functioncall:

integer number_items, array MediaItemArray_StateChunk = ultraschall.RippleCut_Reverse(number startposition, number endposition, string trackstring, boolean moveenvelopepoints, boolean add_to_clipboard)

Description:
Cuts out all items between startposition and endposition in the tracks given by trackstring. After cut, it moves the remaining items before(!) startposition toward projectend, by the difference between start and endposition.

Returns number of cut items as well as an array with the mediaitem-statechunks, which can be used with functions as InsertMediaItem_MediaItemStateChunk, reaper.GetItemStateChunk and reaper.SetItemStateChunk.

Returns -1 in case of failure.

Returnvalues:
 integer number_items the number of cut items 
 array MediaItemArray_StateChunk an array with the mediaitem-states of the cut items 

Parameters:
 number startposition the startposition of the section in seconds 
 number endposition the endposition of the section in seconds 
 string trackstring the tracknumbers, separated by , 
 boolean moveenvelopepoints moves envelopepoints, if existing, as well 
 boolean add_to_clipboard true, puts the cut items into the clipboard; false, don't put into the clipboard 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ InsertMediaItem_MediaItem

Functioncall:

integer retval, MediaItem MediaItem, number startposition, number endposition, number length = ultraschall.InsertMediaItem_MediaItem(number position, MediaItem MediaItem, MediaTrack MediaTrack)

Description:
Inserts MediaItem in MediaTrack at position. Returns the newly created(or better: inserted) MediaItem as well as startposition, endposition and length of the inserted item.

Returns -1 in case of failure.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 MediaItem MediaItem the newly created MediaItem 
 number startposition the startposition of the inserted MediaItem in seconds 
 number endposition the endposition of the inserted MediaItem in seconds 
 number length the length of the inserted MediaItem in seconds 

Parameters:
 number position the position of the newly created mediaitem 
 MediaItem MediaItem the MediaItem that shall be inserted into a track 
 MediaTrack MediaTrack the track, where the item shall be inserted to 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ InsertMediaItem_MediaItemStateChunk

Functioncall:

integer retval, MediaItem MediaItem, number startposition, number endposition, number length = ultraschall.InsertMediaItem_MediaItemStateChunk(number position, string MediaItemStateChunk, MediaTrack MediaTrack)

Description:
Inserts a new MediaItem in MediaTrack at position. Uses a mediaitem-state-chunk as created by functions like GetAllMediaItemsBetween, reaper.GetItemStateChunk and reaper.SetItemStateChunk.. Returns the newly created MediaItem.

Returns -1 in case of failure.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 MediaItem MediaItem the newly created MediaItem 
 number startposition the startposition of the inserted MediaItem in seconds 
 number endposition the endposition of the inserted MediaItem in seconds 
 number length the length of the inserted MediaItem in seconds 

Parameters:
 number position the position of the newly created mediaitem 
 string MediaItemStatechunk the Statechunk for the MediaItem, that shall be inserted into a track 
 MediaTrack MediaTrack the track, where the item shall be inserted to; nil, use the statechunk-entry ULTRASCHALL_TRACKNUMBER for the track instead. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ InsertMediaItemArray

Functioncall:

integer number_of_items, array MediaItemArray = ultraschall.InsertMediaItemArray(number position, array MediaItemArray, string trackstring)

Description:
Inserts the MediaItems from MediaItemArray at position into the tracks, as given by trackstring.

Returns the number of newly created items, as well as an array with the newly create MediaItems.
Returns -1 in case of failure.

Note: this inserts the items only in the tracks, where the original items came from. Items from track 1 will be included into track 1. Trackstring only helps to include or exclude the items from inclusion into certain tracks.
If you have a MediaItemArray with items from track 1,2,3,4,5 and you give trackstring only the tracknumber for track 3 and 4 -> 3,4, then only the items, that were in tracks 3 and 4 originally, will be included, all the others will be ignored.

Returnvalues:
 integer number_of_items the number of MediaItems created 
 array MediaItemArray an array with the newly created MediaItems 

Parameters:
 number position the position of the newly created mediaitem 
 array MediaItemArray an array with the MediaItems to be inserted 
 string trackstring the numbers of the tracks, separated by a , 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetMediaItemStateChunksFromItems

Functioncall:

integer number_of_items, array MediaItemArray_StateChunks = ultraschall.GetMediaItemStateChunksFromItems(array MediaItemArray)

Description:
Returns the MediaItem-StateChunks for all MediaItems in MediaItemArray. It returns the number of items as well as an array, with each entry one MediaItemStateChunk.

StateChunks are used by the reaper-functions reaper.GetItemStateChunk and reaper.SetItemStateChunk.

Returns -1 in case of failure.

Returnvalues:
 integer number_of_items the number of trackstatechunks, usually the same as MediaItems in MediaItemArray 
 array MediaItemArray_StateChunks an array with the StateChunks of the MediaItems in MediaItemArray 

Parameters:
 array MediaItemArray an array with the MediaItems you want the statechunks of 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ RippleInsert

Functioncall:

integer number_of_items, array MediaItemArray, number endpos_inserted_items = ultraschall.RippleInsert(number position, array MediaItemArray, string trackstring, boolean moveenvelopepoints, boolean movemarkers)

Description:
It inserts the MediaItems from MediaItemArray at position into the tracks, as given by trackstring. It moves the items, that were there before, accordingly toward the end of the project.

Returns the number of newly created items, as well as an array with the newly created MediaItems and the endposition of the last(projectposition) inserted item into the project.
Returns -1 in case of failure.

Note: this inserts the items only in the tracks, where the original items came from. Items from track 1 will be included into track 1. Trackstring only helps to include or exclude the items from inclusion into certain tracks.
If you have a MediaItemArray with items from track 1,2,3,4,5 and you give trackstring only the tracknumber for track 3 and 4 -> 3,4, then only the items, that were in tracks 3 and 4 originally, will be included, all the others will be ignored.

Returnvalues:
 integer number_of_items the number of newly created items 
 array MediaItemArray an array with the newly created MediaItems 
 number endpos_inserted_items the endposition of the last newly inserted MediaItem 

Parameters:
 number position the position of the newly created mediaitem 
 array MediaItemArray an array with the MediaItems to be inserted 
 string trackstring the numbers of the tracks, separated by a , 
 boolean moveenvelopepoints true, move the envelopepoints as well; false, keep the envelopepoints where they are 
 boolean movemarkers true, move markers as well; false, keep markers where they are 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ MoveMediaItems_FromArray

Functioncall:

integer retval, number earliest_itemtime, number latest_itemtime = ultraschall.MoveMediaItems_FromArray(array MediaItemArray, number newposition)

Description:
It changes the position of the MediaItems from MediaItemArray. It keeps the related position to each other, putting the earliest item at newposition, putting the others later, relative to their offset.

Returns -1 in case of failure.

Returnvalues:
 integer retval -1 in case of error, else returns 1 
 number earliest_itemtime the new earliest starttime of all MediaItems moved 
 number latest_itemtime the new latest endtime of all MediaItems moved 

Parameters:
 array MediaItemArray an array with the MediaItems to be inserted 
 number newposition the new position in seconds 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ InsertMediaItemStateChunkArray

Functioncall:

integer number_of_items, array MediaItemArray = ultraschall.InsertMediaItemStateChunkArray(number position, array MediaItemStateChunkArray, string trackstring)

Description:
Inserts the MediaItems from MediaItemStateChunkArray at position into the tracks, as given by trackstring.
Note:Needs ULTRASCHALL_TRACKNUMBER within the statechunks, which includes the tracknumber for each mediaitem to be included. Else it will return -1. That entry will be included automatically into the MediaItemStateChunkArray as provided by GetAllMediaItemsBetween. If you need to manually insert that entry into a statechunk, use SetItemUSTRackNumber_StateChunk.

Returns the number of newly created items, as well as an array with the newly create MediaItems.
Returns -1 in case of failure.

Note: this inserts the items only in the tracks, where the original items came from(or the tracks set with the entry ULTRASCHALL_TRACKNUMBER). Items from track 1 will be included into track 1. Trackstring only helps to include or exclude the items from inclusion into certain tracks.
If you have a MediaItemStateChunkArray with items from track 1,2,3,4,5 and you give trackstring only the tracknumber for track 3 and 4 -> 3,4, then only the items, that were in tracks 3 and 4 originally, will be included, all the others will be ignored.

Returnvalues:
 integer number_of_items the number of MediaItems created 
 array MediaItemArray an array with the newly created MediaItems 

Parameters:
 number position the position of the newly created mediaitem 
 array MediaItemStateChunkArray an array with the statechunks of the MediaItems to be inserted 
 string trackstring the numbers of the tracks, separated by a , 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ OnlyMediaItemsOfTracksInTrackstring_StateChunk

Functioncall:

integer retval, array MediaItemStateChunkArray = ultraschall.OnlyMediaItemsOfTracksInTrackstring_StateChunk(array MediaItemStateChunkArray, string trackstring)

Description:
Throws all MediaItems out of the MediaItemStateChunkArray, that are not within the tracks, as given with trackstring.
Returns the "cleared" MediaItemArray; returns -1 in case of error

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 array MediaItemStateChunkarray the "cleared" array, that contains only the statechunks of MediaItems in tracks, as given by trackstring, -1 in case of error 

Parameters:
 array MediaItemStateChunkArray an array with MediaItems; no nil-entries allowed, will be seen as the end of the array 
 string trackstring the tracknumbers, separated by a comma 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ RippleInsert_MediaItemStateChunks

Functioncall:

integer number_of_items, array MediaItemStateChunkArray, number endpos_inserted_items = ultraschall.RippleInsert_MediaItemStateChunks(number position, array MediaItemStateChunkArray, string trackstring, boolean moveenvelopepoints, boolean movemarkers)

Description:
It inserts the MediaItems from MediaItemStateChunkArray at position into the tracks, as given by trackstring. It moves the items, that were there before, accordingly toward the end of the project.

Returns the number of newly created items, as well as an array with the newly created MediaItems as statechunks and the endposition of the last(projectposition) inserted item into the project.
Returns -1 in case of failure.

Note: this inserts the items only in the tracks, where the original items came from. Items from track 1 will be included into track 1. Trackstring only helps to include or exclude the items from inclusion into certain tracks.
If you have a MediaItemStateChunkArray with items from track 1,2,3,4,5 and you give trackstring only the tracknumber for track 3 and 4 -> 3,4, then only the items, that were in tracks 3 and 4 originally, will be included, all the others will be ignored.

Returnvalues:
 integer number_of_items the number of newly created items 
 array MediaItemStateChunkArray an array with the newly created MediaItems as StateChunkArray 
 number endpos_inserted_items the endposition of the last newly inserted MediaItem 

Parameters:
 number position the position of the newly created mediaitem 
 array MediaItemStateChunkArray an array with the statechunks of MediaItems to be inserted 
 string trackstring the numbers of the tracks, separated by a , 
 boolean moveenvelopepoints true, move the envelopepoints as well; false, keep the envelopepoints where they are 
 boolean movemarkers true, move markers as well; false, keep markers where they are 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ GetAllMediaItemsFromTrack

Functioncall:

integer itemcount, array MediaItemArray, array MediaItemStateChunkArray = ultraschall.GetAllMediaItemsFromTrack(integer tracknumber)

Description:
returns the number of items of tracknumber, as well as an array with all MediaItems and an array with all MediaItemStateChunks
returns -1 in case of error

Returnvalues:
 integer itemcount the number of items in that track 
 array MediaItemArray an array with all MediaItems from this track 
 array MediaItemStateChunkArray an array with all MediaItemStateCunks from this track 

Parameters:
 integer tracknumber the tracknumber, from where you want to get the item 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetItemsLockState

Functioncall:

boolean retval = ultraschall.SetItemsLockState(array MediaItemArray, boolean lockstate)

Description:
Sets the lockstate of the items in MediaItemArray. Set lockstate=true to set the items locked; false to set them unlocked.

returns true in case of success, false in case of error

Returnvalues:
 boolean retval true in case of success, false in case of error 

Parameters:
 array MediaItemArray an array with the MediaItems to be processed 
 boolean lockstate true, to set the MediaItems to locked, false to set them to unlocked 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ AddLockStateToMediaItemStateChunk

Functioncall:

string changedMediaItemStateChunk = ultraschall.AddLockStateToMediaItemStateChunk(string MediaItemStateChunk, boolean lockstate)

Description:
Sets the lockstate in a MediaItemStateChunk. Set lockstate=true to set the chunk locked; false to set it unlocked.

Does not apply the changes to the MediaItem itself. To do that, use reaper.GetItemStateChunk or ApplyStateChunkToItems!

returns the changed MediaItemStateChunk

returns -1 in case of failure

Returnvalues:
 string changedMediaItemStateChunk the lockstate-modified MediaItemStateChunk 

Parameters:
 string MediaItemStateChunk the statechunk of the item to be processed, as returned by functions like reaper.GetItemStateChunk 
 boolean lockstate true, to set the MediaItemStateChunk to locked, false to set it to unlocked 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ AddLockStateTo_MediaItemStateChunkArray

Functioncall:

integer count, array changedMediaItemStateChunkArray = ultraschall.AddLockStateTo_MediaItemStateChunkArray(array MediaItemStateChunkArray, boolean lockstate)

Description:
Sets the lockstates in a MediaItemStateChunkArray. Set lockstate=true to set the chunks locked; false to set them unlocked.

Does not apply the changes to the MediaItem itself. To do that, use reaper.GetItemStateChunk or ApplyStateChunkToItems!

returns the number of entries and the altered MediaItemStateChunkArray; -1 in case of failure

Returnvalues:
 integer count the number of entries in the changed MediaItemStateChunkArray 
 array changedMediaItemStateChunkArray the lockstate-modified MediaItemStateChunkArray 

Parameters:
 array MediaItemStateChunkArray the statechunkarray of the items to be processed, as returned by functions like reaper.GetItemStateChunk 
 boolean lockstate true, to set the MediaItemStateChunk to locked, false to set it to unlocked 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ApplyStateChunkToItems

Functioncall:

boolean retval, integer skippeditemscount, array skipped_MediaItemStateChunkArray = ultraschall.ApplyStateChunkToItems(array MediaItemStateChunkArray, boolean undostate)

Description:
Applies changed StateChunks to the respective items. Skips deleted items, as they can't be set.

It will look into the IGUID-entry of the statechunks, to find the right corresponding MediaItem to apply the statechunk to.

returns the number of entries and the altered MediaItemStateChunkArray; -1 in case of failure

Returnvalues:
 boolean retval true it worked, false it didn't 
 integer skippeditemscount the number of entries that couldn't be applied 
 array skipped_MediaItemStateChunkArray the StateChunks, that couldn't be aplied 

Parameters:
 array MediaItemStateChunkArray the statechunkarray of the items to be applied, as returned by functions like reaper.GetItemStateChunk 
 boolean undostate true, sets the changed undo-possible, false undo-impossible 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetAllLockedItemsFromMediaItemArray

Functioncall:

integer countlock, array locked_MediaItemArray, integer countunlock, array unlocked_MediaItemArray = ultraschall.GetAllLockedItemsFromMediaItemArray(array MediaItemArray)

Description:
Returns the number and the items that are locked, as well as the number and the items that are NOT locked.
The items are returned as MediaItemArrays
returns -1 in case of failure

Returnvalues:
 integer countlock the number of locked items. -1 in case of failure 
 array locked_MediaItemArray the locked items in a mediaitemarray 
 integer countunlock the number of un(!)locked items 
 array unlocked_MediaItemArray the un(!)locked items in a mediaitemarray 

Parameters:
 array MediaItemArray the statechunkarray of the items to be checked. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetMediaItemStateChunksFromMediaItemArray

Functioncall:

integer count, array MediaItemStateChunkArray = ultraschall.GetMediaItemStateChunksFromMediaItemArray(array MediaItemArray)

Description:
Returns the number of items and statechunks of the Items in MediaItemArray. It skips items in MediaItemArray, that are deleted.
returns -1 in case of failure

Returnvalues:
 integer count the number of statechunks returned. -1 in case of failure 
 array MediaItemStateChunkArray the statechunks of the items in mediaitemarray 

Parameters:
 array MediaItemArray the statechunkarray of the items to be checked. 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetSelectedMediaItemsAtPosition

Functioncall:

integer count, array MediaItemArray, array MediaItemStateChunkArray = ultraschall.GetSelectedMediaItemsAtPosition(number position, string trackstring)

Description:
Returns all selected items at position in the tracks as given by trackstring, as MediaItemArray. Empty MediaItemAray if none is found.

returns -1 in case of error

Returnvalues:
 integer count the number of entries in the returned MediaItemArray 
 array MediaItemArray the found MediaItems returned as an array 

Parameters:
 number position position in seconds 
 string trackstring the tracknumbers, separated by commas 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetSelectedMediaItemsBetween

Functioncall:

integer count, array MediaItemArray = ultraschall.GetSelectedMediaItemsBetween(number startposition, number endposition, string trackstring, boolean inside)

Description:
Returns all selected items between startposition and endposition in the tracks as given by trackstring, as MediaItemArray. Empty MediaItemAray if none is found.

returns -1 in case of error

Returnvalues:
 integer count the number of entries in the returned MediaItemArray 
 array MediaItemArray the found MediaItems returned as an array 

Parameters:
 number startposition startposition in seconds 
 number endposition endposition in seconds 
 string trackstring the tracknumbers, separated by commas 
 boolean inside true, only items completely within start/endposition; false, also items, that are partially within start/endposition 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ DeselectMediaItems_MediaItemArray

Functioncall:

integer retval = ultraschall.DeselectMediaItems_MediaItemArray(array MediaItemArray)

Description:
Deselects all MediaItems, that are in MediaItemArray.

returns -1 in case of error

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 

Parameters:
 array MediaItemArray an array with all the MediaItemObjects, that shall be deselected 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SelectMediaItems_MediaItemArray

Functioncall:

integer retval = ultraschall.SelectMediaItems_MediaItemArray(array MediaItemArray)

Description:
Selects all MediaItems, that are in MediaItemArray.

It retains any current selection.

returns -1 in case of error

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 

Parameters:
 array MediaItemArray an array with all the MediaItemObjects, that shall be selected 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ EnumerateMediaItemsInTrack

Functioncall:

MediaItem item, integer itemcount, array MediaItemArray = ultraschall.EnumerateMediaItemsInTrack(integer tracknumber, integer itemnumber)

Description:
returns the itemnumberth MediaItemobject in track, the number of items in tracknumber and an array with all MediaItems from this track.
returns -1 in case of error

Returnvalues:
 MediaItem item the Mediaitem, as requested by parameter itemnumber 
 integer itemcount the number of items in that track 
 array MediaItemArray an array with all MediaItems from this track 

Parameters:
 integer tracknumber the tracknumber, from where you want to get the item 
 integer itemnumber the itemnumber within that track. 1 for the first, 2 for the second, etc 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetMediaItemArrayLength

Functioncall:

integer start, integer end, integer length = ultraschall.GetMediaItemArrayLength(array MediaItemArray)

Description:
Returns the beginning of the first item, the end of the last item as well as the length between start and end of all items within the MediaItemArray.
Will return -1, in case of error

Returnvalues:
 integer start the beginning of the earliest item in the MediaItemArray in seconds 
 integer end the end of the latest item in the MediaItemArray, timewise, in seconds 
 integer length the length of the MediaItemArray in seconds 

Parameters:
 array MediaItemArray an array with MediaItems, as returned by functions like GetAllMediaItemsBetween or GetMediaItemsAtPosition or similar. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetMediaItemStateChunkArrayLength

Functioncall:

integer start, integer end, integer length = ultraschall.GetMediaItemStateChunkArrayLength(array MediaItemStateChunkArray)

Description:
Returns the beginning of the first item, the end of the last item as well as the length between start and end of all items within the MediaItemStateChunkArray.
Will return -1, in case of error

Returnvalues:
 integer start the beginning of the earliest item in the MediaItemArray in seconds 
 integer end the end of the latest item in the MediaItemArray, timewise, in seconds 
 integer length the length of the MediaItemArray in seconds 

Parameters:
 array MediaItemStateChunkArray an array with MediaItemStateChunks, as returned by functions like GetAllMediaItemsBetween or GetMediaItemsAtPosition or similar. 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetAllMediaItemGUIDs

Functioncall:

table GUID_Array, integer count_of_GUID = ultraschall.GetAllMediaItemGUIDs()

Description:
Returns an array with all MediaItem-GUIDs in order of the MediaItems-count(1 for first MediaItem, etc).

Returns nil in case of an error

Returnvalues:
 table diff_array an array with all entries from CompareArray2, that are not in Array 

Parameters:
 table GUID_Array an array with all GUIDs of all MediaItems 
 integer count_of_GUID the number of GUIDs(from MediaItems) in the GUID_Array 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemSpectralConfig

Functioncall:

integer item_spectral_config = ultraschall.GetItemSpectralConfig(integer itemidx, optional string MediaItemStateChunk)

Description:
returns the item-spectral-config, which is the fft-size of the spectral view for this item.
set itemidx to -1 to use the optional parameter MediaItemStateChunk to alter a MediaItemStateChunk instead of an item directly.

returns -1 in case of error or nil if no spectral-config exists(e.g. when no spectral-edit is applied to this item)

Returnvalues:
 integer item_spectral_config the fft-size in points for the spectral-view; 16, 32, 64, 128, 256, 512, 1024(default), 2048, 4096, 8192; -1, if not existing 

Parameters:
 integer itemidx the number of the item, with 1 for the first item, 2 for the second, etc.; -1, to use the parameter MediaItemStateChunk 
 optional string MediaItemStateChunk you can give a MediaItemStateChunk to process, if itemidx is set to -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetItemSpectralConfig

Functioncall:

boolean retval, string MediaItemStateChunk = ultraschall.SetItemSpectralConfig(integer itemidx, integer item_spectral_config, optional string MediaItemStateChunk)

Description:
sets the item-spectral-config, which is the fft-size of the spectral view for this item.

returns false in case of error or if no spectral-config exists(e.g. when no spectral-edit is applied to this item)

Returnvalues:
 boolean retval true, if setting spectral-config worked; false, if not 
 string MediaItemStateChunk the altered MediaItemStateChunk 

Parameters:
 integer itemidx the number of the item, with 1 for the first item, 2 for the second, etc.; -1, if you want to use the optional parameter MediaItemStateChunk 
 integer item_spectral_config the fft-size in points for the spectral-view; 16, 32, 64, 128, 256, 512, 1024(default), 2048, 4096, 8192; nil, to remove it
nil will only remove it, when SPECTRAL_EDIT is removed from item first; returned statechunk will have it removed still 
 optional string MediaItemStateChunk a MediaItemStateChunk you want to have altered; works only, if itemdidx is set to -1, otherwise it will be ignored 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ CountItemSpectralEdits

Functioncall:

integer count = ultraschall.CountItemSpectralEdits(integer itemidx, optional string MediaItemStateChunk)

Description:
counts the number of SPECTRAL_EDITs in a given MediaItem/MediaItemStateChunk.
The SPECTRAL_EDITs are the individual edit-boundary-boxes in the spectral-view.
If itemidx is set to -1, you can give the function a MediaItemStateChunk to look in, instead.

returns -1 in case of error

Returnvalues:
 integer count the number of spectral-edits available in a given MediaItem/MediaItemStateChunk 

Parameters:
 integer itemidx the MediaItem to look in for the spectral-edit; -1, to use the parameter MediaItemStateChunk instead 
 optional string MediaItemStateChunk if itemidx is -1, this can be a MediaItemStateChunk to use, otherwise this will be ignored 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ GetItemSpectralEdit

Functioncall:

number start_pos, number length, number gain, number fade, number freq_fade, number freq_range_bottom, number freq_range_top, integer h, integer byp_solo, number gate_thres, number gate_floor, number comp_thresh, number comp_exp_ratio, number n, number o, number fade2, number freq_fade2 = ultraschall.GetItemSpectralEdit(integer itemidx, integer spectralidx, optional string MediaItemStateChunk)

Description:
returns the settings of a specific SPECTRAL_EDIT in a given MediaItem/MediaItemStateChunk.
The SPECTRAL_EDITs are the individual edit-boundary-boxes in the spectral-view.
If itemidx is set to -1, you can give the function a MediaItemStateChunk to look in, instead.

returns -1 in case of error

Returnvalues:
 number start_pos the startposition of the spectral-edit-region in seconds 
 number length the length of the spectral-edit-region in seconds 
 number gain the gain as slider-value; 0(-224dB) to 98350.1875(99.68dB); 1 for 0dB 
 number fade 0(0%)-0.5(100%); adjusting this affects also parameter fade2! 
 number freq_fade 0(0%)-0.5(100%); adjusting this affects also parameter freq_fade2! 
 number freq_range_bottom the bottom of the edit-region, but can be moved to be top as well! 0 to device-samplerate/2 (e.g 96000 for 192kHz) 
 number freq_range_top the top of the edit-region, but can be moved to be bottom as well! 0 to device-samplerate/2 (e.g 96000 for 192kHz) 
 integer h unknown 
 integer byp_solo sets the solo and bypass-state. 0, no solo, no bypass; 1, bypass only; 2, solo only; 3, bypass and solo 
 number gate_thres sets the threshold of the gate; 0(-224dB)-98786.226563(99.89dB) 
 number gate_floor sets the floor of the gate; 0(-224dB)-99802.171875(99.98dB) 
 number comp_thresh sets the threshold for the compressor; 0(-224dB)-98842.484375(99.90dB); 1(0dB)is default 
 number comp_exp_ratio sets the ratio of the compressor/expander; 0.1(1:10.0)-100(100:1.0); 1(1.0:1) is default 
 number n unknown 
 number o unknown 
 number fade2 negative with fade_in set; positive with fadeout-set 
 number freq_fade2 negative with low frequency-fade, positive with high-frequency-fade 

Parameters:
 integer itemidx the MediaItem to look in for the spectral-edit; -1, to use the parameter MediaItemStateChunk instead 
 integer spectralidx the number of the spectral-edit to return; 1 for the first, 2 for the second, etc 
 optional string MediaItemStateChunk if itemidx is -1, this can be a MediaItemStateChunk to use, otherwise this will be ignored 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ DeleteItemSpectralEdit

Functioncall:

boolean retval, string MediaItemStateChunk = ultraschall.DeleteItemSpectralEdit(integer itemidx, integer spectralidx, optional string MediaItemStateChunk)

Description:
deletes a specific SPECTRAL_EDIT in a given MediaItem/MediaItemStateChunk.
The SPECTRAL_EDITs are the individual edit-boundary-boxes in the spectral-view.
If itemidx is set to -1, you can give the function a MediaItemStateChunk to look in, instead.

returns false in case of error

Returnvalues:
 boolean retval true, if deleting an spectral-edit-entry was successful; false, if it was unsuccessful 
 string MediaItemStateChunk the altered MediaItemStateChunk 

Parameters:
 integer itemidx the MediaItem to look in for the spectral-edit; -1, to use the parameter MediaItemStateChunk instead 
 integer spectralidx the number of the spectral-edit to delete; 1 for the first, 2 for the second, etc 
 optional string MediaItemStateChunk if itemidx is -1, this can be a MediaItemStateChunk to use, otherwise this will be ignored 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetItemSpectralVisibilityState

Functioncall:

string MediaItemStateChunk = ultraschall.SetItemSpectralVisibilityState(integer itemidx, integer state, optional string MediaItemStateChunk)

Description:
Sets SPECTROGRAM-state in a MediaItem or MediaItemStateChunk.
Setting it shows the spectrogram, in which you can do spectral-editing, as selected in the MediaItem-menu "Spectral-editing -> Toggle show spectrogram for selected items"

It returns the modified MediaItemStateChunk.
Returns -1 in case of error.

Returnvalues:
 string MediaItemStateChunk the altered rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 

Parameters:
 integer itemidx the number of the item in the project; use -1 to use MediaItemStateChunk instead 
 integer state the state of the SPECTROGRAM; 0, to hide SpectralEdit; 1, to set SpectralEdit visible 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk; only read, when itemidx=-1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetItemSpectralEdit

Functioncall:

string MediaItemStateChunk = ultraschall.SetItemSpectralEdit(integer itemidx, integer spectralidx, number start_pos, number length, number gain, number fade, number freq_fade, number freq_range_bottom, number freq_range_top, integer h, integer byp_solo, number gate_thres, number gate_floor, number comp_thresh, number comp_exp_ratio, number n, number o, number fade2, number freq_fade2, optional string MediaItemStateChunk)

Description:
Sets a spectral-edit-instance in a MediaItem or MediaItemStateChunk.

After committing the changed MediaItemStateChunk to a MediaItem, Reaper may change the order of the spectral-edits! Keep that in mind, when changing numerous Spectral-Edits or use MediaItemStateChunks for the setting before committing them to a MediaItem using Reaper's function reaper.SetItemStateChunk().

It returns the modified MediaItemStateChunk.
Returns -1 in case of error.

Returnvalues:
 string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 

Parameters:
 integer itemidx the number of the item in the project; use -1 to use MediaItemStateChunk instead 
 integer spectralidx the number of the spectral-edit-instance, that you want to set 
 number start_pos the startposition of the spectral-edit-region in seconds 
 number length the length of the spectral-edit-region in seconds 
 number gain the gain as slider-value; 0(-224dB) to 98350.1875(99.68dB); 1 for 0dB 
 number fade 0(0%)-0.5(100%); adjusting this affects also parameter fade2! 
 number freq_fade 0(0%)-0.5(100%); adjusting this affects also parameter freq_fade2! 
 number freq_range_bottom the bottom of the edit-region, but can be moved to be top as well! 0 to device-samplerate/2 (e.g 96000 for 192kHz) 
 number freq_range_top the top of the edit-region, but can be moved to be bottom as well! 0 to device-samplerate/2 (e.g 96000 for 192kHz) 
 integer h unknown 
 integer byp_solo sets the solo and bypass-state. 0, no solo, no bypass; 1, bypass only; 2, solo only; 3, bypass and solo 
 number gate_thres sets the threshold of the gate; 0(-224dB)-98786.226563(99.89dB) 
 number gate_floor sets the floor of the gate; 0(-224dB)-99802.171875(99.98dB) 
 number comp_thresh sets the threshold for the compressor; 0(-224dB)-98842.484375(99.90dB); 1(0dB)is default 
 number comp_exp_ratio sets the ratio of the compressor/expander; 0.1(1:10.0)-100(100:1.0); 1(1.0:1) is default 
 number n unknown 
 number o unknown 
 number fade2 negative with fade_in set; positive with fadeout-set 
 number freq_fade2 negative with low frequency-fade, positive with high-frequency-fade 
 optional string MediaItemStateChunk an rpp-xml-statechunk, as created by reaper-api-functions like GetItemStateChunk 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ GetItemSourceFile_Take

Functioncall:

string source_filename, PCM_source source, MediaItem_Take take = ultraschall.GetItemSourceFile_Take(MediaItem MediaItem, integer take_nr)

Description:
returns filename, the PCM_Source-object and the MediaItem_Take-object of a specific take. Use take_nr=0 for active take.

returns nil in case of error

Returnvalues:
 string source_filename the filename of the requested take 
 PCM_source source the PCM_source-object of the requested take 
 MediaItem_Take take the Media-Item_Take-object of the requested take 

Parameters:
 MediaItem MediaItem the MediaItem-object, in which the requested take lies 
 integer take_nr the number of the requested take; use 0 for the active take 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ AddItemSpectralEdit

Functioncall:

boolean retval, MediaItemStateChunk statechunk = ultraschall.AddItemSpectralEdit(integer itemidx, number start_pos, number length, number gain, number fade, number freq_fade, number freq_range_bottom, number freq_range_top, integer h, integer byp_solo, number gate_thres, number gate_floor, number comp_thresh, number comp_exp_ratio, number n, number o, number fade2, number freq_fade2, optional string MediaItemStateChunk)

Description:
Adds a new SPECTRAL_EDIT-entry in a given MediaItem/MediaItemStateChunk.
The SPECTRAL_EDITs are the individual edit-boundary-boxes in the spectral-view.
If itemidx is set to -1, you can give the function a MediaItemStateChunk to look in, instead.

returns false in case of error

Returnvalues:
 boolean retval true, if adding was successful; false, if adding wasn't successful 
 optional MediaItemStateChunk statechunk the altered MediaItemStateChunk 

Parameters:
 integer itemidx the MediaItem to add to another spectral-edit-entry; -1, to use the parameter MediaItemStateChunk instead 
 number start_pos the startposition of the spectral-edit-region in seconds 
 number length the length of the spectral-edit-region in seconds 
 number gain the gain as slider-value; 0(-224dB) to 98350.1875(99.68dB); 1 for 0dB 
 number fade 0(0%)-0.5(100%); adjusting this affects also parameter fade2! 
 number freq_fade 0(0%)-0.5(100%); adjusting this affects also parameter freq_fade2! 
 number freq_range_bottom the bottom of the edit-region, but can be moved to be top as well! 0 to device-samplerate/2 (e.g 96000 for 192kHz) 
 number freq_range_top the top of the edit-region, but can be moved to be bottom as well! 0 to device-samplerate/2 (e.g 96000 for 192kHz) 
 integer h unknown 
 integer byp_solo sets the solo and bypass-state. 0, no solo, no bypass; 1, bypass only; 2, solo only; 3, bypass and solo 
 number gate_thres sets the threshold of the gate; 0(-224dB)-98786.226563(99.89dB) 
 number gate_floor sets the floor of the gate; 0(-224dB)-99802.171875(99.98dB) 
 number comp_thresh sets the threshold for the compressor; 0(-224dB)-98842.484375(99.90dB); 1(0dB)is default 
 number comp_exp_ratio sets the ratio of the compressor/expander; 0.1(1:10.0)-100(100:1.0); 1(1.0:1) is default 
 number n unknown 
 number o unknown 
 number fade2 negative with fade_in set; positive with fadeout-set 
 number freq_fade2 negative with low frequency-fade, positive with high-frequency-fade 
 string MediaItemStateChunk if itemidx is -1, this can be a MediaItemStateChunk to use, otherwise this will be ignored 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemSpectralVisibilityState

Functioncall:

integer spectrogram_state = ultraschall.GetItemSpectralVisibilityState(integer itemidx, optional string MediaItemStateChunk)

Description:
returns, if spectral-editing is shown in the arrange-view of item itemidx
set itemidx to -1 to use the optional parameter MediaItemStateChunk to alter a MediaItemStateChunk instead of an item directly.

returns -1 in case of error

Returnvalues:
 integer item_spectral_config 0, if spectral-config isn't shown in arrange-view; 1, if spectral-config is shown in arrange-view 

Parameters:
 integer itemidx the number of the item, with 1 for the first item, 2 for the second, etc.; -1, to use the parameter MediaItemStateChunk 
 optional string MediaItemStateChunk you can give a MediaItemStateChunk to process, if itemidx is set to -1 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ InsertImageFile

Functioncall:

boolean retval, MediaItem item = ultraschall.InsertImageFile(string filename_with_path, integer track, number position, number length, boolean looped)

Description:
Inserts a supported image-file into your project.
Due API-limitations, it creates two undo-points(one for inserting the MediaItem and one for changing the length).

Returns false in case of an error

Returnvalues:
 boolean retval true, if inserting was successful; false, if inserting was unsuccessful 
 MediaItem item the MediaItem of the newly inserted image 

Parameters:
 string filename_with_path the file to check for it's image-fileformat 
 integer track the track, in which the image shall be inserted 
 number position the position of the inserted image in seconds 
 number length the length of the image-item in seconds; 1, for the default length of 1 second 
 boolean looped true, loop the inserted image-file; false, don't loop the inserted image-file 


^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ GetAllSelectedMediaItems

Functioncall:

integer count, array MediaItemArray, array MediaItemStateChunkArray = ultraschall.GetAllSelectedMediaItems()

Description:
Returns all selected items in the project as MediaItemArray. Empty MediaItemAray if none is found.

Returnvalues:
 integer count the number of entries in the returned MediaItemArray 
 array MediaItemArray all selected MediaItems returned as an array 
 array MediaItemStateChunkArray the statechunks of all found MediaItems as an array 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetMediaItemsSelected_TimeSelection

Functioncall:

ultraschall.SetMediaItemsSelected_TimeSelection()

Description:
Sets all MediaItems selected, that are within the time-selection.




^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetParentTrack_MediaItem

Functioncall:

integer tracknumber, MediaTrack mediatrack = ultraschall.GetParentTrack_MediaItem(MediaItem MediaItem)

Description:
Returns the tracknumber and the MediaTrack-object of the track in which the MediaItem is placed.

returns -1 in case of error

Returnvalues:
 integer tracknumber the tracknumber of the track, in which the MediaItem is placed; 1 for track 1, 2 for track 2, etc 
 MediaTrack mediatrack the MediaTrack-object of the track, in which the MediaItem is placed 

Parameters:
 MediaItem MediaItem the MediaItem, of which you want to know the track is is placed in 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsItemInTrack2

Functioncall:

boolean retval, integer tracknumber = ultraschall.IsItemInTrack2(MediaItem MediaItem, integer tracknumber)

Description:
Checks, whether a MediaItem is in track with tracknumber.

see IsItemInTrack to use itemidx instead of the MediaItem-object.
see IsItemInTrack3 to check against multiple tracks at once using a trackstring.

returns nil in case of error

Returnvalues:
 boolean retval true, if item is in track; false, if not 
 integer tracknumber the tracknumber of the track, in which the item lies 

Parameters:
 MediaItem MediaItem the MediaItem, of which you want to know the track is is placed in 
 integer tracknumber the tracknumber to check the parent track of the MediaItem against, with 1 for track 1, etc 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsItemInTimerange

Functioncall:

boolean retval = ultraschall.IsItemInTimerange(MediaItem MediaItem, number startposiiton, number endposition, boolean inside)

Description:
checks, whether a given MediaItem is within startposition and endposition and returns the result.

returns nil in case of an error

Returnvalues:
 boolean retval true, item is in timerange; false, item isn't in timerange 

Parameters:
 MediaItem MediaItem the MediaItem to check for, if it's within the timerange 
 number startposition the starttime of the timerange, in which the MediaItem must be, in seconds 
 number endposition the endtime of the timerange, in which the MediaItem must be, in seconds 
 boolean inside true, MediaItem must be fully within timerange; false, MediaItem can be partially inside timerange 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ OnlyItemsInTracksAndTimerange

Functioncall:

integer count, MediaItemArray MediaItemArray = ultraschall.OnlyItemsInTracksAndTimerange(MediaItemArray MediaItemArray, string trackstring, number starttime, number endtime, boolean inside)

Description:
Removes all items from MediaItemArray, that aren't in tracks, as given by trackstring and are outside the timerange(starttime to endtime).

returns -1 in case of an error

Returnvalues:
 integer count the number of items that fit the requested tracks and timerange 
 MediaItemArray MediaItemArray the altered MediaItemArray, that has only the MediaItems from tracks as requested by trackstring and from within timerange 

Parameters:
 MediaItemArray MediaItemArray an array with all MediaItems, that shall be checked for trackexistence and timerange 
 string trackstring a string with all requested tracknumbers in which the MediaItem must be, separated by commas; 1 for track 1, 2 for track 2, etc 
 number starttime the starttime of the timerange, in which the MediaItem must be, in seconds 
 number endtime the endtime of the timerange, in which the MediaItem must be, in seconds 
 boolean inside true, only MediaItems are returned, that are fully within starttime and endtime; false, return also MediaItems partially in timerange 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ ApplyActionToMediaItem

Functioncall:

boolean retval = ultraschall.ApplyActionToMediaItem(MediaItem MediaItem, string actioncommandid, integer repeat_action, boolean midi, optional HWND MIDI_hwnd)

Description:
Applies an action to a MediaItem, in either main or MIDI-Editor section-context.
The action given must support applying itself to selected items.

Returns false in case of an error

Returnvalues:
 boolean retval true, if running the action was successful; false, if not or an error occured 

Parameters:
 MediaItem MediaItem the MediaItem, to whom the action shall be applied to 
 string actioncommandid the commandid-number or ActionCommandID, that shall be run. 
 integer repeat_action the number of times this action shall be applied to each item; minimum value is 1 
 boolean midi true, run an action from MIDI-Editor-section-context; false, run an action from the main section 
 optional HWND MIDI_hwnd the HWND-handle of the MIDI-Editor, to which a MIDI-action shall be applied to; nil, to use the currently selected one 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ ApplyActionToMediaItemArray

Functioncall:

boolean retval = ultraschall.ApplyActionToMediaItemArray(MediaItemArray MediaItemArray, string actioncommandid, integer repeat_action, boolean midi, optional HWND MIDI_hwnd)

Description:
Applies an action to the MediaItems in MediaItemArray, in either main or MIDI-Editor section-context
The action given must support applying itself to selected items.

This function applies the action to each MediaItem individually. To apply the action to all MediaItems in MediaItemArray at once, see ApplyActionToMediaItemArray2.

Returns false in case of an error

Returnvalues:
 boolean retval true, if running the action was successful; false, if not or an error occured 

Parameters:
 MediaItemArray MediaItemArray an array with all MediaItems, to whom the action shall be applied to 
 string actioncommandid the commandid-number or ActionCommandID, that shall be run. 
 integer repeat_action the number of times this action shall be applied to each item; minimum value is 1 
 boolean midi true, run an action from MIDI-Editor-section-context; false, run an action from the main section 
 optional HWND MIDI_hwnd the HWND-handle of the MIDI-Editor, to which a MIDI-action shall be applied to; nil, to use the currently selected one 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ GetAllMediaItemsInTimeSelection

Functioncall:

integer count, array MediaItemArray = ultraschall.GetAllMediaItemsInTimeSelection(string trackstring, boolean inside)

Description:
Gets all MediaItems from within a time-selection

Returns -1 in case of an error

Returnvalues:
 integer count the number of items found in time-selection 
 array MediaItemArray an array with all MediaItems found within time-selection 

Parameters:
 string trackstring a string with all tracknumbers, separated by a comma; 1 for the first track, 2 for the second 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ NormalizeItems

Functioncall:

integer retval = ultraschall.NormalizeItems(array MediaItemArray)

Description:
Normalizes all items in MediaItemArray.

Returns -1 in case of an error

Returnvalues:
 integer retval -1, in case of an error 

Parameters:
 array MediaItemArray an array with all MediaItems, that shall be normalized 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ GetAllMediaItems

Functioncall:

integer itemcount, MediaItemArray MediaItemArray = ultraschall.GetAllMediaItems()

Description:
Returns a MediaItemArray with all MediaItems in the current project

Returnvalues:
 integer itemcount the number of items in the MediaItemArray 
 MediaItemArray MediaItemArray an array with all MediaItems from the current project 



^ Reaper version 5.77Ultraschall version 4.00SWS version 2.9.8Lua version 5.3 ^ PreviewMediaItem

Functioncall:

boolean retval = ultraschall.PreviewMediaItem(MediaItem MediaItem, integer Previewtype)

Description:
Will play a preview a given MediaItem.
You can just play one preview at a time, except when previewing additionally through the MediaExplorer.

Returns false in case of an error

Returnvalues:
 boolean retval false, in case of error; true, in case of success 

Parameters:
 MediaItem MediaItem the MediaItem, of which you want to play a preview 
 integer Previewtype the type of the preview
0, Preview the MediaItem in the Media Explorer
1, Preview the MediaItem
2, Preview the MediaItem at track fader volume of the track, in which it lies
3, Preview the MediaItem through the track, in which it lies(including FX-settings) 


^ Reaper version 5.77Ultraschall version 4.00Julian Sader's plugin version 0.986Lua version 5.3 ^ StopAnyPreview

Functioncall:

ultraschall.StopAnyPreview()

Description:
Stops any playing preview of a MediaItem.




^ Reaper version 5.92Ultraschall version 4.2Julian Sader's plugin version 0.986Lua version 5.3 ^ PreviewMediaFile

Functioncall:

integer retval = ultraschall.PreviewMediaFile(string filename_with_path, optional number gain, optional boolean loop, optional outputChannel)

Description:
Plays a preview of a media-file. You can only play one file at a time.

Returns false in case of an error

Returnvalues:
 boolean retval true, starting preview was successful; false, starting preview wasn't successful 

Parameters:
 string filename_with_path the filename with path of the media-file to play 
 optional number gain the gain of the volume; nil, defaults to 1 
 optional boolean loop true, loop the previewed file; false or nil, don't loop the file 
 optional integer outputChannel the outputChannel; for multichannel files, this is the first hardware-output-channel for e.g. left channel of a stereo file; default, 0 


^ Reaper version 5.92Ultraschall version 4.00Lua version 5.3 ^ GetMediaItemTake

Functioncall:

MediaItem_Take Take, integer TakeCount = ultraschall.GetMediaItemTake(MediaItem MediaItem, integer TakeNr)

Description:
Returns the requested MediaItem-Take of MediaItem. Use TakeNr=0 for the active take(!)

Returns nil in case of an error

Returnvalues:
 MediaItem_Take Take the requested take of a MediaItem 
 integer TakeCount the number of takes available within this Mediaitem 

Parameters:
 MediaItem MediaItem the MediaItem, of whom you want to request a certain take. 
 integer TakeNr the take that you want to request; 1 for the first; 2 for the second, etc; 0, for the current active take 


^ Reaper version 5.92Ultraschall version 4.00Lua version 5.3 ^ ApplyFunctionToMediaItemArray

Functioncall:

table returnvalues = ultraschall.ApplyFunctionToMediaItemArray(MediaItemArray MediaItemArray, function functionname, functionparameters1, ..., functionparametersn)

Description:
Applies function "functionname" on all items in MediaItemArray. Parameter ... is all parameters used for function "functionname", where you should use nil in place of the parameter that shall hold a MediaItem.

Returns a table with a boolean(did the function run without an error) and all returnvalues returned by function "functionname".

Returns nil in case of an error. Will NOT(!) stop execution, if function "functionname" produces an error(see table returnvalues for more details)

Returnvalues:
 table returnvalues a table with all returnvalues of the following structure:
    returnvalues[1]=boolean - true, running the function succeeded; false, running the function did not succeed
    returnvalues[2]=optional(!) string - the errormessage, if returnvalues[1]=false; will be omitted if returnvalues[1]=true
all other tableentries contain the returnvalues, as returned by function "functionname" 

Parameters:
 MediaItemArray MediaItemArray an array with all MediaItems, who you want to apply functionname to. 
 function functionname the name of the function to apply to every MediaItem in MediaItemArray 
 functionparameters1...n the parameters needed for function "functionname". Important: the function-parameter that is intended for the MediaItem, must be nil.
This nil-parameter will be filled with the appropriate MediaItem by ApplyFunctionToMediaItemArray automatically 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ GetGapsBetweenItems

Functioncall:

integer number_of_gaps, array gaptable = ultraschall.GetGapsBetweenItems(MediaTrack MediaTrack)

Description:
Returns a table with all gaps between items in MediaTrack.

Returns -1 in case of an error

Returnvalues:
 integer number_of_gaps the number of gaps found between items; -1, in case of error 
 array gaptable an array with all gappositions found
gaptable[idx][1]=startposition of gap
gaptable[idx][2]=endposition of gap 

Parameters:
 MediaTrack MediaTrack the track, of which you want to have the gaps between items 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ DeleteMediaItems_Position

Functioncall:

boolean retval, array MediaItemStateChunkArray = ultraschall.DeleteMediaItems_Between(number startposition, number endposition, string trackstring, boolean inside)

Description:
Delete the MediaItems between start- and endposition, from the tracks as given by trackstring.
Returns also a MediaItemStateChunkArray, that contains the statechunks of all deleted MediaItem

returns false in case of an error

Returnvalues:
 boolean retval true, delete was successful; false was unsuccessful 
 array MediaItemStateChunkArray and array with all statechunks of all deleted MediaItems;
each statechunk contains an additional entry "ULTRASCHALL_TRACKNUMBER" which holds the tracknumber, in which the deleted MediaItem was located 

Parameters:
 number startposition the startposition in seconds 
 number endposition the endposition in seconds 
 string trackstring the tracknumbers, separated by a comma 
 boolean inside true, delete only MediaItems that are completely within start and endposition; false, also include MediaItems partially within start and endposition 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ ApplyActionToMediaItemArray2

Functioncall:

boolean retval = ultraschall.ApplyActionToMediaItemArray2(MediaItemArray MediaItemArray, string actioncommandid, integer repeat_action, boolean midi, optional HWND MIDI_hwnd)

Description:
Applies an action to the MediaItems in MediaItemArray, in either main or MIDI-Editor section-context
The action given must support applying itself to selected items.

This function applies the action to all MediaItems at once. To apply the action to each MediaItem in MediaItemArray individually, see ApplyActionToMediaItemArray

Returns false in case of an error

Returnvalues:
 boolean retval true, if running the action was successful; false, if not or an error occured 

Parameters:
 MediaItemArray MediaItemArray an array with all MediaItems, to whom the action shall be applied to 
 string actioncommandid the commandid-number or ActionCommandID, that shall be run. 
 integer repeat_action the number of times this action shall be applied to each item; minimum value is 1 
 boolean midi true, run an action from MIDI-Editor-section-context; false, run an action from the main section 
 optional HWND MIDI_hwnd the HWND-handle of the MIDI-Editor, to which a MIDI-action shall be applied to; nil, to use the currently selected one 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetMediafileAttributes

Functioncall:

number length, integer numchannels, integer Samplerate, string Filetype = ultraschall.GetMediafileAttributes(string filename)

Description:
returns the attributes of a mediafile

if the mediafile is an rpp-project, this function creates a proxy-file called filename.RPP-PROX, which is a wave-file of the length of the project.
This file can be deleted safely after that, but would be created again the next time this function is called.    

returns -1 in case of an error

Returnvalues:
 number length the length of the mediafile in seconds 
 integer numchannels the number of channels of the mediafile 
 integer Samplerate the samplerate of the mediafile in hertz 
 string Filetype the type of the mediafile, like MP3, WAV, MIDI, FLAC, RPP_PROJECT etc 

Parameters:
 string filename the file whose attributes you want to have 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ InsertMediaItemFromFile

Functioncall:

integer retval, MediaItem item, number endposition, integer numchannels, integer Samplerate, string Filetype, number editcursorposition, MediaTrack track = ultraschall.InsertMediaItemFromFile(string filename, integer track, number position, number endposition, integer editcursorpos, optional number offset)

Description:
Inserts the mediafile filename into the project at position in track
When giving an rpp-projectfile, it will be rendered by Reaper and inserted as subproject!

Due API-limitations, it creates two undo-points: one for inserting the MediaItem and one for changing the length(when endposition isn't -1).    

Returns -1 in case of failure

Returnvalues:
 integer retval 0, if insertion worked; -1, if it failed 
 MediaItem item the newly created MediaItem 
 number endposition the endposition of the newly created MediaItem in seconds 
 integer numchannels the number of channels of the mediafile 
 integer Samplerate the samplerate of the mediafile in hertz 
 string Filetype the type of the mediafile, like MP3, WAV, MIDI, FLAC, etc 
 number editcursorposition the (new) editcursorposition 
 MediaTrack track returns the MediaTrack, in which the item is included 

Parameters:
 string filename the path+filename of the mediafile to be inserted into the project 
 integer track the track, in which the file shall be inserted
  0, insert the file into a newly inserted track after the last track
-1, insert the file into a newly inserted track before the first track 
 number position the position of the newly inserted item 
 number endposition the length of the newly created mediaitem; -1, use the length of the sourcefile 
 integer editcursorpos the position of the editcursor after insertion of the mediafile
0 - the old editcursorposition
1 - the position, at which the item was inserted
2 - the end of the newly inserted item 
 optional number offset an offset, to delay the insertion of the item, to overcome possible "too late"-starting of playback of item during recording 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ CopyMediaItemToDestinationTrack

Functioncall:

MediaItem newMediaItem, MediaItemStateChunk statechunk = ultraschall.CopyMediaItemToDestinationTrack(MediaItem MediaItem, MediaTrack MediaTrack_destination, number position)

Description:
Copies MediaItem to MediaTrack_destination at position.

Returns nil in case of an error

Returnvalues:
 MediaItem newMediaItem the newly created MediaItem; nil, if no item could be created 
 MediaItemStateChunk statechunk the statechunk of the newly created MediaItem 

Parameters:
 MediaItem MediaItem the MediaItem, that you want to create a copy from 
 MediaTrack MediaTrack_destination the track, into which you want to copy the MediaItem 
 number position the position of the copy of the MediaItem; negative, to keep the position of the source-MediaItem 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ IsSplitAtPosition

Functioncall:

boolean retval = ultraschall.IsSplitAtPosition(string trackstring, number position)

Description:
returns, if theres at least one split, MediaItemend or MediaItemstart at position within the tracks given in trackstring.

returns false in case of an error

Returnvalues:
 boolean retval true, there's a split/mediaitemend/mediaitemstart at position; false, it isn't 

Parameters:
 string trackstring the tracknumbers, within to search for, as comma separated string. Starting 1 for the first track. 
 number position the position, at which to check for. 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ GetItem_Number

Functioncall:

integer itemidx = ultraschall.GetItem_Number(MediaItem MediaItem)

Description:
returns the indexnumber of a MediaItem-object

Can be helpful with Reaper's own API-functions, like reaper.GetMediaItem(ReaProject proj, integer itemidx)

returns -1 in case of an error

Returnvalues:
 integer itemidx the indexnumber of the MediaItem, zero based.  

Parameters:
 MediaItem MediaItem the MediaItem, whose itemidx you want to have 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ GetItem_HighestRecCounter

Functioncall:

integer highest_item_reccount, integer found = ultraschall.GetItem_HighestRecCounter()

Description:
Takes the RECPASS-counters of all items and takes and returns the highest one, which usually means, the number of items, who have been recorded since the project has been created.

Note: a RECPASS-entry can also be part of a copy of a recorded item, so multiple items/takes can share the same RECPASS-entries with the same counter.
Means: the highest number can be of multiple items

returns -1 if no recorded item/take has been found.

Returnvalues:
 integer highest_item_reccount the highest reccount of all MediaItems, which usually means, that so many Items have been recorded in this project 
 integer found the number of MediaItems, who have a recpass-entry in their StateChunk, means, who have been recorded.     



^ Reaper version 6.10Ultraschall version 4.2SWS version 2.10.0.1Lua version 5.3 ^ GetItem_ClickState

Functioncall:

boolean clickstate, number position, MediaItem item, MediaItem_Take take = ultraschall.GetItem_ClickState(integer mouse_button)

Description:
Returns the currently clicked item and take, as well as the current timeposition.

Mostly useful in defer-scripts.

Returns false, if no item is clicked at

Returnvalues:
 boolean clickstate true, item is clicked on; false, item isn't clicked on 
 number position the position, at which the item is currently clicked at 
 MediaItem item the Item, which is currently clicked at 
 MediaItem_Take take the take found at clickposition 

Parameters:
 integer mouse_button the mousebutton, that shall be clicked at the item; you can combine them as flags
-1, get all states
&1, only left mouse button
&2, only right mouse button
&4, Ctrl/Cmd-key
&8, Shift-key
&16, Alt key
&32, Windows key
&64, Middle mouse button 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetEndOfItem

Functioncall:

number end_of_item_position = ultraschall.GetEndOfItem(MediaItem MediaItem)

Description:
Returns the endposition of MediaItem

returns nil in case of an error

Returnvalues:
 number end_of_item_position the position of the ending edge of the MediaItem 

Parameters:
 MediaItem MediaItem the MediaItem, whose ending-position you want to know 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetAllMediaItemAttributes_Table

Functioncall:

table AttributeTable = ultraschall.GetAllMediaItemAttributes_Table(MediaItem MediaItem)

Description:
Returns all attributes of MediaItem as a handy table.

The returned table is of the following scheme:
    AttributeTable["B_MUTE"] - bool * : muted
    AttributeTable["B_LOOPSRC"] - bool * : loop source
    AttributeTable["B_ALLTAKESPLAY"] - bool * : all takes play
    AttributeTable["B_UISEL"] - bool * : selected in arrange view
    AttributeTable["C_BEATATTACHMODE"] - char * : item timebase, -1=track or project default, 1=beats (position, length, rate), 2=beats (position only). for auto-stretch timebase: C_BEATATTACHMODE=1, C_AUTOSTRETCH=1
    AttributeTable["C_AUTOSTRETCH:"] - char * : auto-stretch at project tempo changes, 1=enabled, requires C_BEATATTACHMODE=1
    AttributeTable["C_LOCK"] - char * : locked, &1=locked
    AttributeTable["D_VOL"] - double * : item volume, 0=-inf, 0.5=-6dB, 1=+0dB, 2=+6dB, etc
    AttributeTable["D_POSITION"] - double * : item position in seconds
    AttributeTable["D_LENGTH"] - double * : item length in seconds
    AttributeTable["D_SNAPOFFSET"] - double * : item snap offset in seconds
    AttributeTable["D_FADEINLEN"] - double * : item manual fadein length in seconds
    AttributeTable["D_FADEOUTLEN"] - double * : item manual fadeout length in seconds
    AttributeTable["D_FADEINDIR"] - double * : item fadein curvature, -1..1
    AttributeTable["D_FADEOUTDIR"] - double * : item fadeout curvature, -1..1
    AttributeTable["D_FADEINLEN_AUTO"] - double * : item auto-fadein length in seconds, -1=no auto-fadein
    AttributeTable["D_FADEOUTLEN_AUTO"] - double * : item auto-fadeout length in seconds, -1=no auto-fadeout
    AttributeTable["C_FADEINSHAPE"] - int * : fadein shape, 0..6, 0=linear
    AttributeTable["C_FADEOUTSHAPE"] - int * : fadeout shape, 0..6, 0=linear
    AttributeTable["I_GROUPID"] - int * : group ID, 0=no group
    AttributeTable["I_LASTY"] - int * : Y-position of track in pixels (read-only)
    AttributeTable["I_LASTH"] - int * : height in track in pixels (read-only)
    AttributeTable["I_CUSTOMCOLOR"] - int * : custom color, OS dependent color|0x100000 (i.e. ColorToNative(r,g,b)|0x100000). If you do not |0x100000, then it will not be used, but will store the color anyway)
    AttributeTable["I_CURTAKE"] - int * : active take number
    AttributeTable["IP_ITEMNUMBER"] - int, item number on this track (read-only, returns the item number directly)
    AttributeTable["F_FREEMODE_Y"] - float * : free item positioning Y-position, 0=top of track, 1=bottom of track (will never be 1)
    AttributeTable["F_FREEMODE_H"] - float * : free item positioning height, 0=no height, 1=full height of track (will never be 0)
    AttributeTable["P_TRACK"] - MediaTrack * (read-only)

returns nil in case of an error

Returnvalues:
 table AttributeTable a table with all attributes of a MediaItem 

Parameters:
 MediaItem MediaItem the MediaItem, whose attributes you want to retrieve 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ SetAllMediaItemAttributes_Table

Functioncall:

boolean retval = ultraschall.SetAllMediaItemAttributes_Table(MediaItem MediaItem, table AttributeTable)

Description:
Sets all attributes of MediaItem using a AttributeTable, which holds all the new settings for the MediaItem.

The expected table is of the following scheme:
    AttributeTable["B_MUTE"] - bool * : muted
    AttributeTable["B_LOOPSRC"] - bool * : loop source
    AttributeTable["B_ALLTAKESPLAY"] - bool * : all takes play
    AttributeTable["B_UISEL"] - bool * : selected in arrange view
    AttributeTable["C_BEATATTACHMODE"] - char * : item timebase, -1=track or project default, 1=beats (position, length, rate), 2=beats (position only). for auto-stretch timebase: C_BEATATTACHMODE=1, C_AUTOSTRETCH=1
    AttributeTable["C_AUTOSTRETCH:"] - char * : auto-stretch at project tempo changes, 1=enabled, requires C_BEATATTACHMODE=1
    AttributeTable["C_LOCK"] - char * : locked, &1=locked
    AttributeTable["D_VOL"] - double * : item volume, 0=-inf, 0.5=-6dB, 1=+0dB, 2=+6dB, etc
    AttributeTable["D_POSITION"] - double * : item position in seconds
    AttributeTable["D_LENGTH"] - double * : item length in seconds
    AttributeTable["D_SNAPOFFSET"] - double * : item snap offset in seconds
    AttributeTable["D_FADEINLEN"] - double * : item manual fadein length in seconds
    AttributeTable["D_FADEOUTLEN"] - double * : item manual fadeout length in seconds
    AttributeTable["D_FADEINDIR"] - double * : item fadein curvature, -1..1
    AttributeTable["D_FADEOUTDIR"] - double * : item fadeout curvature, -1..1
    AttributeTable["D_FADEINLEN_AUTO"] - double * : item auto-fadein length in seconds, -1=no auto-fadein
    AttributeTable["D_FADEOUTLEN_AUTO"] - double * : item auto-fadeout length in seconds, -1=no auto-fadeout
    AttributeTable["C_FADEINSHAPE"] - int * : fadein shape, 0..6, 0=linear
    AttributeTable["C_FADEOUTSHAPE"] - int * : fadeout shape, 0..6, 0=linear
    AttributeTable["I_GROUPID"] - int * : group ID, 0=no group
    AttributeTable["I_LASTY"] - int * : Y-position of track in pixels (read-only)
    AttributeTable["I_LASTH"] - int * : height in track in pixels (read-only)
    AttributeTable["I_CUSTOMCOLOR"] - int * : custom color, OS dependent color|0x100000 (i.e. ColorToNative(r,g,b)|0x100000). If you do not |0x100000, then it will not be used, but will store the color anyway)
    AttributeTable["I_CURTAKE"] - int * : active take number
    AttributeTable["IP_ITEMNUMBER"] - int, item number on this track (read-only, returns the item number directly)
    AttributeTable["F_FREEMODE_Y"] - float * : free item positioning Y-position, 0=top of track, 1=bottom of track (will never be 1)
    AttributeTable["F_FREEMODE_H"] - float * : free item positioning height, 0=no height, 1=full height of track (will never be 0)
    AttributeTable["P_TRACK"] - MediaTrack * (read-only)

returns false in case of an error or if some of the attributes could not be set.

Returnvalues:
 boolean retval true, setting was successful; false, setting attributes failed 

Parameters:
 MediaItem MediaItem the MediaItem, whose attributes you want to set 
 table AttributeTable a table which holds all settings, that you want to set 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetAllSelectedMediaItemsBetween

Functioncall:

integer count, array MediaItemArray, array MediaItemStateChunkArray = ultraschall.GetAllSelectedMediaItemsBetween(number startposition, number endposition, string trackstring, boolean inside)

Description:
Gets all selected MediaItems between startposition and endposition from the tracks as given by trackstring.
Set inside to true to get only items, that are fully within the start and endposition, set it to false, if you also want items, that are just partially inside(end or just the beginning of the item).

Returns the number of selected items, an array with all the selected MediaItems and an array with all the MediaItemStateChunks of the selected items, as used by functions as InsertMediaItem_MediaItemStateChunk, reaper.GetItemStateChunk and reaper.SetItemStateChunk.
The statechunks include a new element "ULTRASCHALL_TRACKNUMBER", which contains the tracknumber of where the item originally was in; important, if you delete the items as you'll otherwise loose this information!
Returns -1 in case of failure.

Returnvalues:
 integer count the number of selected items 
 array MediaItemArray an array with all the found and selected MediaItems 
 array MediaItemStateChunkArray an array with the MediaItemStateChunks, that can be used to create new items with InsertMediaItem_MediaItemStateChunk 

Parameters:
 number startposition startposition in seconds 
 number endposition endposition in seconds 
 string trackstring the tracknumbers, separated by a comma 
 boolean inside true, only items that are completely within selection; false, include items that are partially within selection 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ MediaItems_Outtakes_AddSelectedItems

Functioncall:

integer number_of_items = ultraschall.MediaItems_Outtakes_AddSelectedItems(ReaProject TargetProject)

Description:
Adds selected MediaItems to the outtakes-vault of a given project.

returns -1 in case of an error

Returnvalues:
 integer number_of_items the number of items, added to the outtakes-vault 

Parameters:
 ReaProject TargetProject the project, into whose outtakes-vault the selected items shall be added to; 0 or nil, for the current project 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ MediaItems_Outtakes_GetAllItems

Functioncall:

integer number_of_items, array MediaItemStateChunkArray = ultraschall.MediaItems_Outtakes_GetAllItems(ReaProject TargetProject, optional boolean EachItemsAfterAnother)

Description:
Returns all MediaItems stored in the outtakes-vault of a given project.

returns -1 in case of an error

Returnvalues:
 integer number_of_items the number of items, added to the outtakes-vault 
 array MediaItemStateChunkArray all the MediaItemStateChunks of the stored MediaItems in the outtakes vault 

Parameters:
 ReaProject TargetProject the project, into whose outtakes-vault the selected items shall be added to; 0 or nil, for the current project 
 optional boolean EachItemsAfterAnother position the MediaItems one after the next, so if you import them, they would be stored one after another
true, position the startposition of the MediaItems one after another
false, keep old startpositions 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ MediaItems_Outtakes_InsertAllItems

Functioncall:

boolean retval, integer number_of_items, array MediaItemArray = ultraschall.MediaItems_Outtakes_InsertAllItems(ReaProject TargetProject, integer tracknumber, number Startposition)

Description:
Inserts all MediaItems from the outtakes-vault into a certain track, with one item after the other, back to back.

returns false in case of an error

Returnvalues:
 boolean retval true, adding was successful; false, adding was unsuccessful 
 integer number_of_items the number of added items 
 array MediaItemArray all the inserted MediaItems 

Parameters:
 ReaProject TargetProject the project, into whose outtakes-vault the selected items shall be added to; 0 or nil, for the current project 
 integer tracknumber the tracknumber, into which to insert all items from the outtakes-vault 
 number Startposition the position, at which to insert the first MediaItem; nil, startposition=0 


^ Reaper version 5.975Ultraschall version 4.1Lua version 5.3 ^ GetTake_ReverseState

Functioncall:

boolean retval = ultraschall.GetTake_ReverseState(MediaItem item, integer takenumber)

Description:
returns, if the chosen take of the MediaItem is reversed

returns false in case of an error

Returnvalues:
 boolean retval true, take is reversed; false, take is not reversed 

Parameters:
 MediaItem item the MediaItem, of whose take you want to get the reverse-state 
 integer takenumber the take, whose reverse-state you want to know; 1, for the first take, etc 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ IsItemVisible

Functioncall:

boolean visible, boolean parent_track_visible, boolean within_start_and_endtime = ultraschall.IsItemVisible(MediaItem item, boolean completely_visible)

Description:
returns if n item is currently visible in arrangeview

Note: Items who start above and end below the visible arrangeview will be treated as not completely visible!

parenttrackvisible and withinstartand_endtime will allow you to determine, if the item could be visible if scrolled in only x or y direction.

returns nil in case of error

Returnvalues:
 boolean visible true, the item is visible; false, the item is not visible 
 boolean parent_track_visible true, its parent-track is visible; false, its parent track is not visible 
 boolean within_start_and_endtime true, the item is within start and endtime of the arrangeview; false, it is not 

Parameters:
 MediaTrack track the track, whose visibility you want to query 
 boolean completely_visible false, all tracks including partially visible ones; true, only fully visible tracks 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ DeleteProjExtState_Section

Functioncall:

integer retval = ultraschall.DeleteProjExtState_Section(string section)

Description:
Deletes all key/values from a specific section.

Returns -1 in case of an error.

Returnvalues:
 integer retval 0, in case of success; -1, in case of an error 

Parameters:
 string section the section/extname, whose key/values shall be deleted 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ DeleteProjExtState_Key

Functioncall:

integer retval = ultraschall.DeleteProjExtState_Key(string section, section key)

Description:
Deletes the value from a specific section -> key.

Returns -1 in case of an error.

Returnvalues:
 integer retval 0, in case of success; -1, in case of an error 

Parameters:
 string section the section/extname, from whom a key/value shall be deleted 
 string key the key, whose value shall be deleted 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProjExtState_AllKeyValues

Functioncall:

integer retval = ultraschall.GetProjExtState_AllKeyValues(string section)

Description:
Returns the count of all key/values in a specific section, as well as an array with all keynames and their accompanying stored values.
The array has the format:
   AllValues[idx][1]=Key
   AllValues[idx][2]=Value

Returns -1 in case of an error or if no key exists in the given section

Returnvalues:
 integer retval 0, in case of success; -1, in case of an error 

Parameters:
 string section the section/extname, from whom a key/value shall be deleted 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetGuidExtState

Functioncall:

integer retval, string value = ultraschall.GetGuidExtState(string guid, string key, integer savelocation)

Description:
Gets an extension-state using a given guid. Good for storing additional metadata of objects like MediaTracks, MediaItems, MediaItem_Takes, etc(everything, that has a guid).
The guid can have additional text, but must contain a valid guid somewhere in it!
A valid guid is a string that follows the following pattern:
{........-....-....-....-............}
where . is a hexadecimal value(0-F)

Returns -1 in case of error

Returnvalues:
 integer retval the idx of the extstate(if a project extension state); 1, successful(with extension states), -1, unsuccessful 
 string value the returned value from the extstate 

Parameters:
 string guid the guid of the object, for whom you want to get the key/value-pair; can have additional characters before and after the guid, but must contain a valid guid! 
 string key the key for this guid 
 integer savelocation 0, get as project extension state(from the currently opened project); 1, get as global extension state(when persist=true, from reaper-extstate.ini in the resourcesfolder) 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ SetMarkerExtState

Functioncall:

integer retval = ultraschall.SetMarkerExtState(integer index, string key, string value)

Description:
Stores an Extstate for a specific marker/region.

The index is for all markers and regions, inclusive and 1-based

returns -1 in case of an error

Returnvalues:
 integer retval -1, in case of an error; 1, in case of success 

Parameters:
 integer index the marker/region-index, for which to store an extstate; starting with 1 for first marker/region, 2 for second marker/region 
 string key the key, into which the marker-extstate shall be stored 
 string value the value, which you want to store into the marker-extstate 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetMarkerExtState

Functioncall:

string value = ultraschall.GetMarkerExtState(integer index, string key)

Description:
Retrieves an Extstate for a specific marker/region.

The index is for all markers and regions, inclusive and 1-based

returns nil in case of an error

Returnvalues:
 string value the value, that has been stored into the marker-extstate; nil, in case of an error 

Parameters:
 integer index the marker/region-index, for which an extstate has been stored; starting with 1 for first marker/region, 2 for second marker/region 
 string key the key, in which the marker-extstate is stored 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ ProjExtState_CountAllKeys

Functioncall:

integer count = ultraschall.ProjExtState_CountAllKeys(string section)

Description:
Counts all keys stored within a certain ProjExtState-section.

Be aware: if you want to enumerate them using reaper.EnumProjExtState, the first key is indexed 0, the second 1, etc!

returns -1 in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 string section the section, of which you want to count all keys 


^ Reaper version 6.16Ultraschall version 4.2Lua version 5.3 ^ Metadata_ID3_GetSet

Functioncall:

boolean retval = ultraschall.Metadata_ID3_GetSet(string Tag, optional string Value)

Description:
Gets/Sets a stored ID3-metadata-tag into the current project(for Wav or MP3).

To get a value, set parameter Value to nil; to set a value, set the parameter Value to the desired value
Note: APIC_TYPE allows only specific values, as listed below!

Supported tags are:
TIT2 - Title
TIT3 - Subtitle/Description
TPE2 - Album Artist
TPE1 - Artist
TCON - Genre
TKEY - Key
TBPM - Tempo
TYER - Year, must be of the format yyyy, like 2020
TIME - Recording Time, like 22:15 or 08:21
COMM - Comment
TXXX - User defined(description=value)
TXXX:REAPER - Media Explorer Tags
TCOM - Composer
TIPL - Involved People
TEXT - Lyricist/Text Writer
TMCL - Musician Credits
TALB - Album
TRCK - Track
TIT1 - Content Group
TRCK - Track number
TSRC - International Standard Recording Code
TCOP - Copyright Message
COMM_LANG - Comment language, 3-character code like "eng"
APIC_TYPE - the type of the cover-image, which can be of the following:

"", unset
0, Other
1, 32x32 pixel file icon (PNG only)
2, Other file icon
3, Cover (front)
4, Cover (back)
5, Leaflet page
6, Media
7, Lead artist/Lead Performer/Solo
8, Artist/Performer
9, Conductor
10, Band/Orchestra
11, Composer
12, Lyricist/Text writer
13, Recording location
14, During recording
15, During performance
16, Movie/video screen capture
17, A bright colored fish
18, Illustration
19, Band/Artist logotype
20, Publisher/Studiotype

APIC_DESC - the description of the cover-image
APIC_FILE - the filename+absolute path of the cover-image; must be either png or jpg

Note: Chapters are added via marker with the name: "CHAP=chaptername"

Returns nil in case of an error

Returnvalues:
 string value the value of the specific tag 

Parameters:
 string Tag the tag, whose value you want to get/set; see description for a list of supported ID3-Tags 
 optional string Value nil, only get the current value; any other value, set the value 


^ Reaper version 6.16Ultraschall version 4.2Lua version 5.3 ^ Metadata_BWF_GetSet

Functioncall:

boolean retval = ultraschall.Metadata_BWF_GetSet(string Tag, optional string Value)

Description:
Gets/Sets a stored BWF-metadata-tag into the current project.

To get a value, set parameter Value to nil; to set a value, set the parameter Value to the desired value

Supported tags are:
Description
OriginationDate
OriginationTime
Originator
OriginatorReference
ISRC - International Standard Recording Code

Note: TimeReference is set by Reaper itself

Returns nil in case of an error

Returnvalues:
 string value the value of the specific tag 

Parameters:
 string Tag the tag, whose value you want to get/set; see description for a list of supported BWF-Tags 
 optional string Value nil, only get the current value; any other value, set the value 


^ Reaper version 6.16Ultraschall version 4.2Lua version 5.3 ^ Metadata_IXML_GetSet

Functioncall:

boolean retval = ultraschall.Metadata_IXML_GetSet(string Tag, optional string Value)

Description:
Gets/Sets a stored IXML-metadata-tag into the current project.

To get a value, set parameter Value to nil; to set a value, set the parameter Value to the desired value

Supported tags are:
PROJECT - title
NOTE - comment
USER - user-defined "Name=Value"
USER:REAPER - Media Explorer Tags
SCENE - Scene
CIRCLED - Circled Take; either TRUE or FALSE
TAPE - Sound Roll
TAKE - Take ID
FILE_UID - unique identifier for the file

Returns nil in case of an error

Returnvalues:
 string value the value of the specific tag 

Parameters:
 string Tag the tag, whose value you want to get/set; see description for a list of supported IXML-Tags 
 optional string Value nil, only get the current value; any other value, set the value 


^ Reaper version 6.16Ultraschall version 4.2Lua version 5.3 ^ Metadata_INFO_GetSet

Functioncall:

boolean retval = ultraschall.Metadata_INFO_GetSet(string Tag, optional string Value)

Description:
Gets/Sets a stored INFO-metadata-tag into the current project.

To get a value, set parameter Value to nil; to set a value, set the parameter Value to the desired value

Supported tags are:
INAM - Title
ISBJ - Description
IKEY - Keywords
IART - Artist
IGNR - Genre
ICRD - Creation Date, must be of the format yyyy-mm-dd like 2020-06-27
ICMT - Comment
IENG - Engineer
IPRD - Product(Album)
ISRC - Source
ICOP - Copyright message

Returns nil in case of an error

Returnvalues:
 string value the value of the specific tag 

Parameters:
 string Tag the tag, whose value you want to get/set; see description for a list of supported INFO-Tags 
 optional string Value nil, only get the current value; any other value, set the value 


^ Reaper version 6.11Ultraschall version 4.1Lua version 5.3 ^ Metadata_CART_GetSet

Functioncall:

boolean retval = ultraschall.Metadata_CART_GetSet(string Tag, optional string Value)

Description:
Gets/Sets a stored CART-metadata-tag into the current project.

To get a value, set parameter Value to nil; to set a value, set the parameter Value to the desired value

Supported tags are:
Title - Title
Artist - the Artist
Category - the genre
StartDate - the start-date, must be of the following format, yyyy-mm-dd, like 2020-06-27
EndDate - the end-date, must be of the following format, yyyy-mm-dd, like 2020-06-27
TagText - Text
URL - URL
ClientID - Client
CutID - Cut

Note: INT1 is set by the INT1 marker; SEG1 is set by the SEG1-marker

Returns nil in case of an error

Returnvalues:
 string value the value of the specific tag 

Parameters:
 string Tag the tag, whose value you want to get/set; see description for a list of supported CART-Tags 
 optional string Value nil, only get the current value; any other value, set the value 


^ Reaper version 6.16Ultraschall version 4.2Lua version 5.3 ^ Metadata_AIFF_GetSet

Functioncall:

boolean retval = ultraschall.Metadata_AIFF_GetSet(string Tag, optional string Value)

Description:
Gets/Sets a stored AIFF-metadata-tag into the current project.

To get a value, set parameter Value to nil; to set a value, set the parameter Value to the desired value

Supported tags are:
NAME - Title
ANNO - Description
AUTH - Artist
COPY - Copyright message

Returns nil in case of an error

Returnvalues:
 string value the value of the specific tag 

Parameters:
 string Tag the tag, whose value you want to get/set; see description for a list of supported AIFF-Tags 
 optional string Value nil, only get the current value; any other value, set the value 


^ Reaper version 6.16Ultraschall version 4.2Lua version 5.3 ^ Metadata_XMP_GetSet

Functioncall:

boolean retval = ultraschall.Metadata_XMP_GetSet(string Tag, optional string Value)

Description:
Gets/Sets a stored XMP-metadata-tag into the current project.

To get a value, set parameter Value to nil; to set a value, set the parameter Value to the desired value

Supported tags are:
dc/title - title
dc/description - description
dm/artist - the artist
dm/genre - the genre
dm/key - the key
dm/tempo - the tempo
dm/timeSignature - the time-signature
dc/date - the date
dm/logComment - Comment
dm/composer - the composer
dc/creator - the creator
dm/engineer - the engineer
dm/album - the album
dm/scene - the scene
dm/copyright - the copyright message
dc/language - the language


Returns nil in case of an error

Returnvalues:
 string value the value of the specific tag 

Parameters:
 string Tag the tag, whose value you want to get/set; see description for a list of supported XMP-Tags 
 optional string Value nil, only get the current value; any other value, set the value 


^ Reaper version 6.16Ultraschall version 4.2Lua version 5.3 ^ Metadata_VORBIS_GetSet

Functioncall:

boolean retval = ultraschall.Metadata_VORBIS_GetSet(string Tag, optional string Value)

Description:
Gets/Sets a stored VORBIS-metadata-tag into the current project.
This is for OPUS and OGG-VORBIS-files.

To get a value, set parameter Value to nil; to set a value, set the parameter Value to the desired value

Supported tags are:
TITLE - title
DESCRIPTION - description
ALBUMARTIST - album artist
ARTIST - artist
PERFORMER - performer
GENRE - genre
KEY - key
BPM - tempo
DATE - date
COMMENT - comment
USER - user defined (Name=Value)
REAPER - Media Explorer Tags
ARRANGER - arranger
AUTHOR - author
COMPOSER - composer
CONDUCTOR - conductor
ENSEMBLE - ensemble
LYRICIST - lyricist
PRODUCER - producer
PUBLISHER - publisher
ALBUM - album
LABEL - label
DISCNUMBER - disc number
OPUS - number of work
PART - part
PARTNUMBER - partnumber
TRACKNUMBER - tracknumber
VERSION - version
EAN/UPN - barcode
LABELNO - catalog number
ISRC - isrc
COPYRIGHT - copyright holder
LICENSE - license
ENCODED-BY - encoded by
ENCODING - encoding settings
LANGUAGE - language, 3-character-code like "eng"
LOCATION - location
SOURCEMEDIA - original recording media


Note: Chapters are added via marker with the name: "CHAP=chaptername"

Returns nil in case of an error

Returnvalues:
 string value the value of the specific tag 

Parameters:
 string Tag the tag, whose value you want to get/set; see description for a list of supported VORBIS-Tags 
 optional string Value nil, only get the current value; any other value, set the value 


^ Reaper version 6.11Ultraschall version 4.1Lua version 5.3 ^ Metadata_CUE_GetSet

Functioncall:

boolean retval = ultraschall.Metadata_CUE_GetSet(string Tag, optional string Value)

Description:
Gets/Sets a stored CUE-metadata-tag into the current project.

To get a value, set parameter Value to nil; to set a value, set the parameter Value to the desired value

Supported tags are:
DISCTITLE - the title
DISC
PERFORMER - the performer
DISCREM - Comment
DISC
SONGWRITER - the songwriter
DISCCATALOG - UPC/EAN Code of the disc


Note: TRACK
TITLE is added via render-settings,
TRACKPERFORMER is added via a marker with a title of PERF=performername
TRACK
SONGWRITER is added via a marker with a title of WRIT=writername
TRACK_ISRC is added via a marker with a title of ISRC=code

Returns nil in case of an error

Returnvalues:
 string value the value of the specific tag 

Parameters:
 string Tag the tag, whose value you want to get/set; see description for a list of supported CUE-Tags 
 optional string Value nil, only get the current value; any other value, set the value 


^ Reaper version 6.16Ultraschall version 4.2Lua version 5.3 ^ Metadata_APE_GetSet

Functioncall:

boolean retval = ultraschall.Metadata_APE_GetSet(string Tag, optional string Value)

Description:
Gets/Sets a stored APE-metadata-tag into the current project.

To get a value, set parameter Value to nil; to set a value, set the parameter Value to the desired value

Supported tags are:
Title - title
Subtitle - description
Artist - artist
Genre - genre
Key - key
BPM - tempo
Year - the date; following format: yyyy-mm-dd
Record Date - the recording date; following format: yyyy-mm-dd
Comment - comment
User Defined - user defined metadata
REAPER - Media Explorer Metadata
Composer - the composer
Conductor - the conductor
Publisher - the publisher
Album - the album
Track - the tracknumber
Catalog - the catalog
ISRC - the isrc
Copyright - the copyright holder
Language - the language, a three character code like "eng"
Record Location - the recording location


Returns nil in case of an error

Returnvalues:
 string value the value of the specific tag 

Parameters:
 string Tag the tag, whose value you want to get/set; see description for a list of supported APE-Tags 
 optional string Value nil, only get the current value; any other value, set the value 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ ZoomVertical_MidiEditor

Functioncall:

boolean retval = ultraschall.ZoomVertical_MidiEditor(integer zoomamt, optional HWND midieditor_hwnd)

Description:
Zooms within the Midi-Editor vertically.

returns false in case of an error

Returnvalues:
 boolean retval true, if zooming was successful; false, if not 

Parameters:
 integer zoomamt the zoom-factor; positive values, zoom in; negative values, zoom out 
 optional HWND midieditor_hwnd the HWND of the MIDI-Editor, in which you want to zoom; nil, uses active MIDI-Editor 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ ZoomHorizontal_MidiEditor

Functioncall:

boolean retval = ultraschall.ZoomHorizontal_MidiEditor(integer zoomamt, optional HWND midieditor_hwnd)

Description:
Zooms within the Midi-Editor horizontally.

returns false in case of an error

Returnvalues:
 boolean retval true, if zooming was successful; false, if not 

Parameters:
 integer zoomamt the zoom-factor; positive values, zoom in; negative values, zoom out 
 optional HWND midieditor_hwnd the HWND of the MIDI-Editor, in which you want to zoom; nil, uses active MIDI-Editor 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ OpenItemInMidiEditor

Functioncall:

boolean retval = ultraschall.OpenItemInMidiEditor(MediaItem MediaItem)

Description:
opens a given MediaItem in the MIDI-Editor

returns false in case of an error

Returnvalues:
 boolean retval true, if opening was successful; false, if not 

Parameters:
 MediaItem MediaItem the MediaItem to be opened in the MIDI-Editor 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ MIDI_SendMidiNote

Functioncall:

ultraschall.MIDI_SendMidiNote(integer Channel, integer Note, integer Velocity, optional integer Mode)

Description:
Sends a MIDI-note to a specific channel with a specific velocity.


Parameters:
 integer Channel the channel, to which the Midi-note shall be sent; 1-16 
 integer Note the note to be played; 0-127 
 integer Velocity the velocity of the note; 0-255 
 optional integer Mode 0 for VKB
1 for control (actions map etc)
2 for VKB-on-current-channel
16 for external MIDI device 0, 17 for external MIDI device 1, etc 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ MIDI_SendMidiCC

Functioncall:

ultraschall.MIDI_SendMidiCC(integer Channel, integer Note, integer Velocity, optional integer Mode)

Description:
Sends a MIDI-CC-message to a specific channel with a specific velocity.


Parameters:
 integer Channel the channel, to which the Midi-note shall be sent; 1-16 
 integer Note the note to be played; 0-127 
 integer Velocity the velocity of the note; 0-255 
 optional integer Mode 0 for VKB
1 for control (actions map etc)
2 for VKB-on-current-channel
16 for external MIDI device 0, 17 for external MIDI device 1, etc 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ MIDI_SendMidiPC

Functioncall:

ultraschall.MIDI_SendMidiPC(integer Channel, integer Note, integer Velocity, optional integer Mode)

Description:
Sends a MIDI-PC-message to a specific channel with a specific velocity.


Parameters:
 integer Channel the channel, to which the Midi-note shall be sent; 1-16 
 integer Note the note to be played; 0-127 
 integer Velocity the velocity of the note; 0-255 
 optional integer Mode 0 for VKB
1 for control (actions map etc)
2 for VKB-on-current-channel
16 for external MIDI device 0, 17 for external MIDI device 1, etc 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ MIDI_SendMidiPitch

Functioncall:

ultraschall.MIDI_SendMidiPitch(integer Channel, integer Pitch, optional integer Mode)

Description:
Sends a MIDI-Pitch-message to a specific channel with a specific velocity.


Parameters:
 integer Channel the channel, to which the Midi-pitch shall be sent; 1-16 
 integer Pitch the pitchbend of the note; 0-127 
 optional integer Mode 0 for VKB
1 for control (actions map etc)
2 for VKB-on-current-channel
16 for external MIDI device 0, 17 for external MIDI device 1, etc 


^ Reaper version 6.02Ultraschall version 4.00SWS version 2.10.0.1Lua version 5.3 ^ QueryMIDIMessageNameByID

Functioncall:

string midimessage_name = ultraschall.QueryMIDIMessageNameByID(integer modifier, integer key)

Description:
Returns the name of the MIDI-message, as used by Reaper's function StuffMIDIMessage.

Just pass over the first and second value. The last one is always velocity, which is ~=0 for it to be accepted.
However, some codes don't have a name associated. In that case, this function returns "-1"

Only returns the names for mode 1 and english on Windows!

returns nil in case of an error

Returnvalues:
 string midimessage_name the actual name of the midi-message, like "A" or "F1" or "Ctrl+Alt+Shift+Win+PgUp". 

Parameters:
 integer modifier the modifier value, which is the second parameter of StuffMIDIMessage 
 integer key the key value, which is the third parameter of StuffMIDIMessage 


^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ ToggleMute

Functioncall:

integer retval = ultraschall.ToggleMute(integer track, number position, integer state)

Description:
Sets mute within the mute-envelope-lane, by inserting the fitting envelope-points. Can be used to program coughbuttons.

Note: If the user sets the track muted using the mute-button of the track, changes to the mute-envelope will be made but possibly ignored by Reaper by Reaper's design. So maybe taking care of this is neccessary in scripts.

Returns -1, in case of an error

Works like ultraschall.ToggleMute_TrackObject but uses a tracknumber instead of a trackobject as parameter.

Returnvalues:
 integer retval toggling was 0, success; -1, fail 

Parameters:
 integer track the track-number, for where you want to set the mute-envelope-lane; 1, for the first track; 2, for the second 
 number position position in seconds 
 integer state 0, for mute the track on this position; 1, for unmuting the track on this position 


^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ ToggleMute_TrackObject

Functioncall:

integer retval = ultraschall.ToggleMute_TrackObject(MediaTrack trackobject, number position, integer state)

Description:
Sets mute within the mute-envelope-lane, by inserting the fitting envelope-points. Can be used to program coughbuttons.

Note: If the user sets the track muted using the mute-button of the track, changes to the mute-envelope will be made but possibly ignored by Reaper by Reaper's design. So maybe taking care of this is neccessary in scripts.

Returns -1, if it fails.

Works like ultraschall.ToggleMute but uses a trackobject instead of the tracknumber as parameter.

Returnvalues:
 integer retval toggling was 0, success; -1, fail 

Parameters:
 MediaTrack trackobject the track-object for the track, where you want to set the mute-envelope-lane. Refer GetTrack() for more details. 
 number position position in seconds 
 integer state 0, for mute the track on this position, 1, for unmuting the track on this position 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetNextMuteState

Functioncall:

integer envIDX, number envVal, number envPosition = ultraschall.GetNextMuteState(integer track, number position)

Description:
Returns the next mute-envelope-point-ID, it's value(0 or 1) and it's time. Envelope-Points numbering starts with 0!

Returns -1 if not existing.

Returnvalues:
 integer envIDX number of the muteenvelope-point 
 number envVal value of the muteenvelope-point (0 or 1) 
 number envPosition position of the muteenvelope-point in seconds 

Parameters:
 integer track the track-number, for where you want to set the mute-envelope-lane, beginning with 1. 
 number position position in seconds, from where to look for the next mute-envelope-point 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetPreviousMuteState

Functioncall:

integer envIDX, number envVal, number envPosition = ultraschall.GetPreviousMuteState(integer track, number position)

Description:
Returns the previous mute-envelope-point-ID, it's value(0 or 1) and it's time. Envelope-Points numbering starts with 0!

Returns -1 if not existing.

Returnvalues:
 integer envIDX number of the muteenvelope-point 
 number envVal value of the muteenvelope-point (0 or 1) 
 number envPosition position of the muteenvelope-point in seconds 

Parameters:
 integer track the track-number, for where you want to set the mute-envelope-lane, beginning with 1. 
 number position position in seconds, from where to look for the previous mute-envelope-point 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetNextMuteState_TrackObject

Functioncall:

integer envIDX, number envVal, number envPosition = ultraschall.GetNextMuteState_TrackObject(MediaTrack track, number position)

Description:
Returns the next mute-envelope-point-ID, it's value(0 or 1) and it's time. Envelope-Points numbering starts with 0!

Returns -1 if not existing.

Returnvalues:
 integer envIDX number of the muteenvelope-point 
 number envVal value of the muteenvelope-point (0 or 1) 
 number envPosition position of the muteenvelope-point in seconds 

Parameters:
 MediaTrack track the MediaTrack-object, for the track, where you want to set the mute-envelope-lane. 
 number position position in seconds, from where to look for the next mute-envelope-point 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetPreviousMuteState_TrackObject

Functioncall:

integer envIDX, number envVal, number envPosition = ultraschall.GetPreviousMuteState_TrackObject(MediaTrack track, number position)

Description:
Returns the previous mute-envelope-point-ID, it's value(0 or 1) and it's time. Envelope-Points numbering starts with 0!

Returns -1 if not existing.

Returnvalues:
 integer envIDX number of the muteenvelope-point 
 number envVal value of the muteenvelope-point (0 or 1) 
 number envPosition position of the muteenvelope-point in seconds 

Parameters:
 MediaTrack track the MediaTrack-object, for the track, where you want to set the mute-envelope-lane. 
 number position position in seconds, from where to look for the previous mute-envelope-point 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountMuteEnvelopePoints

Functioncall:

integer retval = ultraschall.CountMuteEnvelopePoints(integer track)

Description:
Returns the number of the envelope-points in the Mute-lane of track "track".

Returns -1, if it fails.

Returnvalues:
 integer retval number of mute-envelope-points 

Parameters:
 integer track the track-number, for which you want to count the mute-envelope-points, beginning with 1. 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ DeleteMuteState

Functioncall:

boolean retval = ultraschall.DeleteMuteState(integer tracknumber, number position)

Description:
Deletes a mute-point in track tracknumber at position.

Returns false in case of an error

Returnvalues:
 boolean retval true, deleting was successful; false, deleting wasn't successful. 

Parameters:
 integer tracknumber the track in which to delete the mute-point; is 1-based, means 1 for track 1 
 number position the position of the mute-point to delete 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ DeleteMuteState_TrackObject

Functioncall:

boolean retval = ultraschall.DeleteMuteState_TrackObject(MediaTrack MediaTrack, number position)

Description:
Deletes a mute-point in a MediaTrack-object at position.

Returns false in case of an error

Returnvalues:
 boolean retval true, deleting was successful; false, deleting wasn't successful. 

Parameters:
 MediaTrack MediaTrack the track in which to delete the mute-point 
 number position the position of the mute-point to delete 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ IsMuteAtPosition

Functioncall:

boolean retval, optional integer envIDX, optional number envVal = ultraschall.IsMuteAtPosition(integer tracknumber, number position)

Description:
Returns true, if a mute-point exists in track tracknumber at position position.

Returns false in case of an error

Returnvalues:
 boolean retval true, if there is a mute-point; false, if there isn't one 
 optional integer envIDX if a mute-point is at position, this holds the index of the envelope-point 
 optional number envVal the current set value of the mute-point 

Parameters:
 integer tracknumber the track in which to check for a mute-point; is 1-based, means 1 for track 1 
 number position the position to check for a mute-point 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ IsMuteAtPosition_TrackObject

Functioncall:

boolean retval, optional integer envIDX, optional number envVal = ultraschall.IsMuteAtPosition_TrackObject(MediaTrack MediaTrack, number position)

Description:
Returns true, if a mute-point exists in MediaTrack-object at position position.

Returns false in case of an error

Returnvalues:
 boolean retval true, if there is a mute-point; false, if there isn't one 
 optional integer envIDX if a mute-point is at position, this holds the index of the envelope-point 
 optional number envVal the current set value of the mute-point 

Parameters:
 MediaTrack MediaTrack the track in which to check for a mute-point 
 number position the position to check for a mute-point 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ ActivateMute

Functioncall:

boolean retval = ultraschall.ActivateMute(integer track, optional boolean visible)

Description:
activates a mute-envelope of a track

returns false in case of error

Returnvalues:
 boolean retval true, activating was successful; false, activating was unsuccessful 

Parameters:
 integer track the track, whose mute-envelope you want to activate; 1, for the first track 
 optional boolean visible true, show the activated mute-envelope; false, don't show the activated mute-envelope 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ DeactivateMute

Functioncall:

boolean retval = ultraschall.DeactivateMute(integer track)

Description:
deactivates a mute-envelope of a track

returns false in case of error

Returnvalues:
 boolean retval true, deactivating was successful; false, deactivating was unsuccessful 

Parameters:
 integer track the track, whose mute-envelope you want to deactivate; 1, for the first track 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ ActivateMute_TrackObject

Functioncall:

boolean retval = ultraschall.ActivateMute_TrackObject(MediaTrack track, optional boolean visible)

Description:
activates a mute-envelope of a MediaTrack-object

returns false in case of error

Returnvalues:
 boolean retval true, activating was successful; false, activating was unsuccessful 

Parameters:
 MediaTrack track the track, whose mute-envelope you want to activate 
 optional boolean visible true, show the activated mute-envelope; false, don't show the activated mute-envelope 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ DeactivateMute_TrackObject

Functioncall:

boolean retval = ultraschall.DeactivateMute_TrackObject(integer track)

Description:
deactivates a mute-envelope of a MediaTrack-object

returns false in case of error

Returnvalues:
 boolean retval true, deactivating was successful; false, deactivating was unsuccessful 

Parameters:
 integer track the track, whose mute-envelope you want to deactivate 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ToggleScrollingDuringPlayback

Functioncall:

ultraschall.ToggleScrollingDuringPlayback(integer scrolling_switch, boolean move_editcursor, boolean goto_playcursor)

Description:
Toggles scrolling during playback and recording. Let's you choose to put the edit-marker at the playposition, where you toggled scrolling.
You can also move the view to the playcursor-position.

It changes, if necessary, the state of the actions 41817, 40036 and 40262 to scroll or not to scroll; keep that in mind, if you use these actions otherwise as well!

returns -1 in case of error

Returnvalues:
 integer retval -1, in case of an error 

Parameters:
 integer scrolling_switch 1, on; 0, off 
 boolean move_editcursor when scrolling stops, shall the editcursor be moved to current position of the playcursor(true) or not(false) 
 boolean goto_playcursor true, move view to playcursor; false, don't move 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetPlayCursor_WhenPlaying

Functioncall:

ultraschall.SetPlayCursor_WhenPlaying(number position)

Description:
Changes position of the play-cursor, when playing. Changes view to new playposition.

Has no effect during recording, when paused or stop and returns -1 in these cases!


Parameters:
 number position in seconds 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetPlayAndEditCursor_WhenPlaying

Functioncall:

ultraschall.SetPlayAndEditCursor_WhenPlaying(number position)

Description:
Changes position of the play and edit-cursor, when playing. Changes view to new playposition.

Has no effect during recording, when paused or stop and returns -1 in these cases!


Parameters:
 number position in seconds 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ JumpForwardBy

Functioncall:

ultraschall.JumpForwardBy(number seconds, boolean seekplay)

Description:
Jumps editcursor forward by seconds seconds.

Returns -1 if parameter is negative. During Recording: only the playcursor will be moved, the current recording-position is still at it's "old" position! If you want to move the current recording position as well, use ultraschall.JumpForwardBy_Recording instead.


Parameters:
 number seconds jump forward by seconds 
 boolean seekplay true, move playcursor as well; false, don't move playcursor 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ JumpBackwardBy

Functioncall:

ultraschall.JumpBackwardBy(number seconds, boolean seekplay)

Description:
Jumps editcursor backward by seconds seconds.

Returns -1 if parameter is negative. During Recording: only the playcursor will be moved, the current recording-position is still at it's "old" position! If you want to move the current recording position as well, use ultraschall.JumpBackwardBy_Recording instead.


Parameters:
 number seconds jump backwards by seconds 
 boolean seekplay true, move playcursor as well; false, leave playcursor at it's old position 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ JumpForwardBy_Recording

Functioncall:

ultraschall.JumpForwardBy_Recording(number seconds)

Description:
Stops recording, jumps forward by seconds seconds and restarts recording. Will keep paused-recording, if recording was paused. Has no effect during play,play/pause and stop.

returns -1 in case of an error


Parameters:
 number seconds restart recording forwards by seconds 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ JumpBackwardBy_Recording

Functioncall:

ultraschall.JumpBackwardBy_Recording(number seconds)

Description:
Stops recording, jumps backward by seconds seconds and restarts recording. Will keep paused-recording, if recording was paused. Has no effect during play,play/pause and stop.

returns -1 in case of an error


Parameters:
 number seconds restart recording backwards by seconds 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ GetNextClosestItemEdge

Functioncall:

number position, integer item_number, string edgetype, MediaItem found_item = ultraschall.GetNextClosestItemEdge(string trackstring, integer cursor_type, optional number time_position)

Description:
returns the position of the next closest item in seconds. It will return the position of the beginning or the end of that item, depending on what is closer.

returns -1 in case of an error

Returnvalues:
 number position the position of the next closest item-edge in tracks in trackstring 
 integer item_number the itemnumber in the project 
 string edgetype "beg" for beginning of the item, "end" for the end of the item 
 MediaItem found_item the next closest found MediaItem  

Parameters:
 string trackstring a string with the numbers of tracks to check for closest items, separated by a comma (e.g. "0,1,6") 
 integer cursor_type next closest item related to the current position of 0 - Edit Cursor, 1 - Play Cursor, 2 - Mouse Cursor, 3 - Timeposition 
 optional number time_position only, when cursor_type=3, a time position in seconds, from where to check for the next closest item. When omitted, it will take the current play(during play and rec) or edit-cursor-position. 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ GetPreviousClosestItemEdge

Functioncall:

number position, number position, integer item_number, string edgetype, MediaItem found_item = ultraschall.GetPreviousClosestItemEdge(string tracks, integer cursor_type, optional number time_position)

Description:
returns the position of the previous closest item-edge in seconds. It will return the position of the beginning or the end of that item, depending on what is closer.

returns -1 in case of an error

Returnvalues:
 number position the position of the previous closest item edge in tracks in trackstring 
 integer item_number the itemnumber in the project 
 string edgetype "beg" for beginning of the item, "end" for the end of the item 
 MediaItem found_item the next closest found MediaItem  

Parameters:
 string tracks a string with the numbers of tracks to check for closest items, separated by a comma (e.g. "0,1,6") 
 integer cursor_type previous closest item related to the current position of 0 - Edit Cursor, 1 - Play Cursor, 2 - Mouse Cursor, 3 - Timeposition 
 optional time_position only, when cursor_type=3, a time position in seconds, from where to check for the previous closest item. When omitted, it will take the current play(during play and rec) or edit-cursor-position. 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ GetClosestNextMarker

Functioncall:

number markerindex, number position, string markertitle = ultraschall.GetClosestNextMarker(integer cursor_type, optional number time_position)

Description:
returns the markerindex(counted from all markers), the position and the name of the next closest marker in seconds.

returns -1 in case of an error

Returnvalues:
 number markerindex the next closest markerindex (of all(!) markers) 
 number position the position of the next closest marker 
 string markertitle the name of the next closest marker 

Parameters:
 integer cursor_type previous closest marker related to the current position of 0 - Edit Cursor, 1 - Play Cursor, 2 - Mouse Cursor, 3 - Timeposition 
 optional number time_position only, when cursor_type=3, a time position in seconds, from where to check for the next closest marker. When omitted, it will take the current play(during play and rec) or edit-cursor-position. 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ GetClosestPreviousMarker

Functioncall:

number markerindex, number position, string markertitle = ultraschall.GetClosestPreviousMarker(integer cursor_type, optional number time_position)

Description:
returns the markerindex(counted from all markers), the position and the name of the previous closest marker in seconds.

Returnvalues:
 number markerindex the previous closest markerindex (of all(!) markers) 
 number position the position of the previous closest marker 
 string markertitle the name of the previous closest marker 

Parameters:
 integer cursor_type previous closest marker related to the current position of 0 - Edit Cursor, 1 - Play Cursor, 2 - Mouse Cursor, 3 - Timeposition 
 optional number time_position only, when cursor_type=3, a time position in seconds, from where to check for the previous closest marker. When omitted, it will take the current play(during play and rec) or edit-cursor-position. 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ GetClosestNextRegionEdge

Functioncall:

number markerindex, number position, string markertitle, string edge_type = ultraschall.GetClosestNextRegionEdge(integer cursor_type, optional number time_position)

Description:
returns the regionindex(counted from all markers and regions), the position and the name of the next closest regionstart/end(depending on which is closer to time_position) in seconds.

returns -1 in case of an error

Returnvalues:
 number markerindex the next closest markerindex (of all(!) markers) 
 number position the position of the next closest region 
 string markertitle the name of the next closest region 
 string edge_type the type of the edge of the region, either "beg" or "end" 

Parameters:
 integer cursor_type previous closest regionstart/end related to the current position of
0, Edit Cursor,
1, Play Cursor,
2, Mouse Cursor,
3, Timeposition 
 only number time_position only, when cursor_type=3, a time position in seconds, from where to check for the next closest regionstart/end. When omitted, it will take the current play(during play and rec) or edit-cursor-position. 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ GetClosestPreviousRegionEdge

Functioncall:

number markerindex, number position, string markertitle, string edge_type = ultraschall.GetClosestPreviousRegionEdge(integer cursor_type, optional number time_position)

Description:
returns the regionindex(counted from all markers and regions), the position and the name of the previous closest regionstart/end(depending on which is closer to time_position) in seconds.

returns -1 in case of an error

Returnvalues:
 number markerindex the previous closest markerindex (of all(!) markers) 
 number position the position of the previous closest marker 
 string markertitle the name of the previous closest marker 
 string edge_type the type of the edge of the region, either "beg" or "end" 

Parameters:
 integer cursor_type previous closest regionstart/end related to the current position of 0 - Edit Cursor, 1 - Play Cursor, 2 - Mouse Cursor, 3 - Timeposition 
 optional number time_position only, when cursor_type=3, a time position in seconds, from where to check for the previous closest regionstart/end. When omitted, it will take the current play(during play and rec) or edit-cursor-position. 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ GetClosestGoToPoints

Functioncall:

number elementposition_prev, string elementtype_prev, integer number_prev, number elementposition_next, string elementtype_next, integer number_next = ultraschall.GetClosestGoToPoints(string trackstring, number time_position, optional boolean check_itemedge, optional boolean check_marker, optional boolean check_region)

Description:
returns, what are the closest markers/regions/item starts/itemends to position and within the chosen tracks.

returns -1 in case of error

Returnvalues:
 number elementposition_prev previous closest markers/regions/item starts/itemends 
 string elementtype_prev type of the previous closest markers/regions/item starts/itemends
the type can be either Itembeg, Itemend, Marker: name, Region_beg: name; Region_end: name, ProjectStart, ProjectEnd; "name" is the name of the marker or region 
 integer number_prev number of previous closest markers/regions/item starts/itemends 
 number elementposition_next previous closest markers/regions/item starts/itemends 
 string elementtype_next type of the previous closest markers/regions/item starts/itemends
the type can be either Itembeg, Itemend, Marker: name, Region_beg: name; Region_end: name, ProjectStart, ProjectEnd; "name" is the name of the marker or region 
 integer number_next number of previous closest markers/regions/item starts/itemends 

Parameters:
 string trackstring tracknumbers, separated by a comma. 
 number time_position a time position in seconds, from where to check for the next/previous closest items/markers/regions.
-1, for editcursorposition; -2, for playcursor-position, -3, the mouse-cursor-position in seconds(where in the project the mousecursor hovers over) 
 optional boolean check_itemedge true, look for itemedges as possible goto-points; false, do not 
 optional boolean check_marker true, look for markers as possible goto-points; false, do not 
 optional boolean check_region true, look for regions as possible goto-point; false, do not 


^ Reaper version 5.52Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ CenterViewToCursor

Functioncall:

ultraschall.CenterViewToCursor(integer cursortype, optional number position)

Description:
centers the arrange-view around a given cursor

returns nil in case of an error


Parameters:
 integer cursortype the cursortype to center
1 - change arrangeview with edit-cursor centered
2 - change arrangeview with play-cursor centered
3 - change arrangeview with mouse-cursor-position centered
4 - change arrangeview with optional parameter position centered 
 optional number position the position to center the arrangeview to; only used, when cursortype=4 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetLastCursorPosition

Functioncall:

number last_editcursor_position, number new_editcursor_position, number statechangetime = ultraschall.GetLastCursorPosition()

Description:
Returns the last and current editcursor-position. Needs Ultraschall-API-background-scripts started first, see RunBackgroundHelperFeatures().

Has an issue, when editcursor-position was changed using a modifier, like alt+click or shift+click! Because of that, you should use this only in defer-scripts.

returns -1, if Ultraschall-API-backgroundscripts weren't started yet.

Returnvalues:
 number last_editcursor_position the last cursorposition before the current one; -1, in case of an error 
 number new_editcursor_position the new cursorposition; -1, in case of an error 
 number statechangetime the time, when the state has changed the last time 



^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetLastPlayState

Functioncall:

string last_play_state, string new_play_state, number statechangetime = ultraschall.GetLastPlayState()

Description:
Returns the last and current playstate. Needs Ultraschall-API-background-scripts started first, see RunBackgroundHelperFeatures().

possible states are STOP, PLAY, PLAYPAUSE, REC, RECPAUSE

returns -1, if Ultraschall-API-backgroundscripts weren't started yet.

Returnvalues:
 string last_play_state the last playstate before the current one; -1, in case of an error 
 string new_play_state the new playstate; -1, in case of an error 
 number statechangetime the time, when the state has changed the last time 



^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetLastLoopState

Functioncall:

string last_loop_state, string new_loop_state, number statechangetime = ultraschall.GetLastLoopState()

Description:
Returns the last and current loopstate. Needs Ultraschall-API-background-scripts started first, see RunBackgroundHelperFeatures().

Possible states are LOOPED, UNLOOPED

returns -1, if Ultraschall-API-backgroundscripts weren't started yet.

Returnvalues:
 string last_loop_state the last loopstate before the current one; -1, in case of an error 
 string new_loop_state the current loopstate; -1, in case of an error 
 number statechangetime the time, when the state has changed the last time 



^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ GetLoopState

Functioncall:

integer retval = ultraschall.GetLoopState()

Description:
Returns the current loop-state

Returnvalues:
 integer retval 0, loop is on; 1, loop is off 



^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ SetLoopState

Functioncall:

boolean retval = ultraschall.SetLoopState(integer state)

Description:
Sets the current loop-state

returns false in case of an error

Returnvalues:
 boolean retval true, if setting was successful; false, if setting was unsuccessful 

Parameters:
 integer state 0, loop is on; 1, loop is off 


^ Reaper version 5.965Ultraschall version 4.00SWS version 2.10.0.1Lua version 5.3 ^ Scrubbing_MoveCursor_GetToggleState

Functioncall:

boolean state = ultraschall.Scrubbing_MoveCursor_GetToggleState()

Description:
Returns, if scrub is toggled on/off, for when moving editcursor via action or control surface, as set in Preferences -> Playback.

Returnvalues:
 boolean retval true, scrub is on; false, scrub is off 



^ Reaper version 5.965Ultraschall version 4.00SWS version 2.10.0.1Lua version 5.3 ^ Scrubbing_MoveCursor_Toggle

Functioncall:

boolean state, optional integer new_scrubmode = ultraschall.Scrubbing_MoveCursor_Toggle(boolean toggle)

Description:
Toggles scrub on/off, for when moving editcursor via action or control surface, as set in Preferences -> Playback.

returns false in case of an error

Returnvalues:
 boolean retval true, toggling was successful; false, toggling was unsuccessful 
 optional integer new_scrubmode this is the new value of the configvariable scrubmode, which is altered by this function 

Parameters:
 boolean toggle true, toggles scrubbing on; false, toggles scrubbing off 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProjectFilename

Functioncall:

string projectfilename_with_path = ultraschall.GetProjectFilename(ReaProject proj)

Description:
Returns the filename of a currently opened project(-tab)

returns nil in case of an error

Returnvalues:
 string projectfilename_with_path the filename of the project; "", project hasn't been saved yet; nil, in case of an error 

Parameters:
 ReaProject proj a currently opened project, whose filename you want to know 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CheckForChangedProjectTabs

Functioncall:

boolean retval, integer countReorderedProj, array reorderedProj, integer countNewProj, array newProj, integer countClosedProj, array closedProj, integer countRenamedProjects, array RenamesProjects = ultraschall.CheckForChangedProjectTabs(boolean update)

Description:
Returns if projecttabs have been changed due reordering, new projects or closed projects, since last calling this function.
Set update=true to update Ultraschall's internal project-monitoring-list or it will only return the changes since starting the API in this script or since the last time you used this function with parameter update set to true!

Returns false, -1 in case of error.

Returnvalues:
 boolean retval false, no changes in the projecttabs at all; true, either order, newprojects or closed project-changes 
 integer countReorderedProj the number of reordered projects 
 array reorderedProj ReaProjects, who got reordered within the tabs 
 integer countNewProj the number of new projects 
 array newProj the new projects as ReaProjects 
 integer countClosedProj the number of closed projects 
 array closedProj the closed projects as ReaProjects 
 integer countRenamedProjects the number of projects, who got renamed by either saving under a new filename or loading of another project 
 array RenamesProjects the renamed projects, by loading a new project or saving the project under another filename 

Parameters:
 boolean update true, update Ultraschall's internal projecttab-monitoring-list to the current state of all tabs
false, don't update the internal projecttab-monitoring-list, so it will keep the "old" project-tab-state as checking-reference 


^ Reaper version 5.40Ultraschall version 4.2Lua version 5.3 ^ IsValidProjectStateChunk

Functioncall:

boolean retval = ultraschall.IsValidProjectStateChunk(string ProjectStateChunk)

Description:
Checks, whether ProjectStateChunk is a valid ProjectStateChunk

Returnvalues:
 boolean retval true, if it's a valid ProjectStateChunk; false, if not 

Parameters:
 string ProjectStateChunk the string to check, if it's a valid ProjectStateChunk 


^ Reaper version 6.20Ultraschall version 4.2SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ GetProjectStateChunk

Functioncall:

string ProjectStateChunk = ultraschall.GetProjectStateChunk(optional string projectfilename_with_path, optional boolean keepqrender)

Description:
Gets the ProjectStateChunk of the current active project or a projectfile.

Important: when calling it too often in a row, this might fail and result in a timeout-error.
I tried to circumvent this, but best practice is to wait 2-3 seconds inbetween calling this function.

Note: This function eats up a lot of resources, so be sparse with it in general!

Works reliably from Reaper 6.20 onwards.

returns nil if getting the ProjectStateChunk took too long

Returnvalues:
 string ProjectStateChunk the ProjectStateChunk of the current project; nil, if getting the ProjectStateChunk took too long 

Parameters:
 optional string projectfilename_with_path the filename of an rpp-projectfile, that you want to load as ProjectStateChunk; nil, to get the ProjectStateChunk from the currently active project 
 optional boolean keepqrender true, keeps the QUEUED_RENDER_OUTFILE and QUEUED_RENDER_ORIGINAL_FILENAME entries in the ProjectStateChunk, if existing; false or nil, remove them 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ EnumProjects

Functioncall:

ReaProject retval, string projfn = ultraschall.EnumProjects(integer idx)

Description:
returns, ReaProject-object and projectname of a requested, opened project.

Returns nil in case of an error.

Returnvalues:
 ReaProject retval a ReaProject-object of the project you requested; nil, if not existing 
 string projfn the path+filename.rpp of the project. returns "" if no filename exists 

Parameters:
 integer idx the project to request; 1(first project-tab) to n(last project-tab), 0 for current project; -1 for currently-rendering project 


^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ GetProjectLength

Functioncall:

number project_length, number last_itemedge, number last_regionedgepos, number last_markerpos, number last_timesigmarker = ultraschall.GetProjectLength(optional boolean return_last_itemedge, optional boolean return_last_markerpos, optional boolean return_lat_timesigmarkerpos, optional boolean include_rec)

Description:
Returns the position of the last itemedge, regionend, marker, time-signature-marker in the project.

It will return -1, if no such elements are found, means: last_markerpos=-1 if no marker has been found
Exception when no items are found, it will return nil for last_itemedge

You can optimise the speed of the function, by setting the appropriate parameters to false.
So if you don't need the last itemedge, setting return_last_itemedge=false speeds up execution massively.

If you want to have the full projectlength during recording, means, including items currently recorded, set include_rec=true

To do the same for projectfiles, use: GetProject_Length

Returnvalues:
 number length_of_project the overall length of the project, including markers, regions, itemedges and time-signature-markers 
 number last_itemedge the position of the last itemedge in the project; nil, if not found 
 number last_regionedgepos the position of the last regionend in the project; -1, if not found 
 number last_markerpos the position of the last marker in the project; -1, if not found  
 number last_timesigmarker the position of the last timesignature-marker in the project; -1, if not found 

Parameters:
 optional boolean return_last_itemedge true or nil, return the last itemedge; false, don't return it 
 optional boolean return_last_markerpos true or nil, return the last marker/regionend-position; false, don't return it  
 optional boolean return_lat_timesigmarkerpos true or nil, return the last timesignature-marker-position; false, don't return it 
 optional boolean include_rec true, takes into account the projectlength during recording; nil or false, only the projectlength exluding currently recorded MediaItems 


^ Reaper version 6.02Ultraschall version 4.00SWS version 2.10.0.1Lua version 5.3 ^ GetRecentProjects

Functioncall:

integer count_of_RecentProjects, array RecentProjectsFilenamesWithPath = ultraschall.GetRecentProjects()

Description:
returns all available recent projects, as listed in the File -> Recent projects-menu

Returnvalues:
 integer count_of_RecentProjects the number of available recent projects 
 array RecentProjectsFilenamesWithPath the filenames of the recent projects 



^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ IsValidProjectBayStateChunk

Functioncall:

boolean retval = ultraschall.IsValidProjectBayStateChunk(string ProjectBayStateChunk)

Description:
checks, if ProjectBayStateChunk is a valid ProjectBayStateChunk

returns false in case of an error

Returnvalues:
 boolean retval true, valid ProjectBayStateChunk; false, not a valid ProjectBayStateChunk 

Parameters:
 string ProjectBayStateChunk a string, that you want to check for being a valid ProjectBayStateChunk 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetAllMediaItems_FromProjectBayStateChunk

Functioncall:

integer count, array MediaItemStateChunkArray = ultraschall.GetAllMediaItems_FromProjectBayStateChunk(string ProjectBayStateChunk)

Description:
returns all items from a ProjectBayStateChunk as MediaItemStateChunkArray

returns -1 in case of an error

Returnvalues:
 integer count the number of items found in the ProjectBayStateChunk 
 array MediaitemStateChunkArray all items as ItemStateChunks in a handy array 

Parameters:
 string ProjectBayStateChunk a string, that you want to check for being a valid ProjectBayStateChunk 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ IsTimeSelectionActive

Functioncall:

boolean retval, optional number start_of_timeselection, optional number end_of_timeselection = ultraschall.IsTimeSelectionActive(optional ReaProject Project)

Description:
Returns, if there's a time-selection and its start and endposition in a project.

returns false in case of an error

Returnvalues:
 boolean retval true, there is a time-selection; false, there isn't a time-selection 
 optional number start_of_timeselection start of the time-selection 
 optional number end_of_timeselection end of the time-selection 

Parameters:
 optional ReaProject Project the project, whose time-selection-state you want to know; 0 or nil, the current project 


^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ GetProject_Author

Functioncall:

string projectauthor = ultraschall.GetProject_Author(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the author from an RPP-Projectfile or a ProjectStateChunk.

It's the entry "  AUTHOR"

Returns nil in case of error or if no such entry exists.

Returnvalues:
 string author the author of the project; "", if there's no author given 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ AutoSave_SetMinutes

Functioncall:

boolean retval = ultraschall.AutoSave_SetMinutes(integer minutes)

Description:
Sets the number of minutes, at which a new autosaved-project shall be saved.

0 to turn it off

Returns false in case of error

Returnvalues:
 boolean retval true, setting worked; false, setting didn't work 

Parameters:
 integer minutes 0, turn off autosave; 1 to 2147483647, the number of minutes at which a new autosaved-project shall be saved 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ AutoSave_GetMinutes

Functioncall:

integer minutes = ultraschall.AutoSave_GetMinutes()

Description:
Gets the currently set amount of minutes, at which a new autosave-project shall be saved

Returnvalues:
 integer minutes 0, autosave is turned off; 1 to 2147483647, the number of minutes at which a new autosaved-project shall be saved 



^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ AutoSave_SetOptions

Functioncall:

boolean retval = ultraschall.AutoSave_SetOptions(optional boolean timestamp_in_project, optional boolean save_undo_history)

Description:
Gets the current states of the Save to timestamped file in project directory and Save undo history (RPP-UNDO)(if enabled in general prefs)-settings.    

Returnvalues:
 optional boolean timestamp_in_project Save to timestamped file in project directory; true, set to on; false, set to off; nil, keep current setting 
 optional boolean save_undo_history Save undo history (RPP-UNDO)(if enabled in general prefs); true, set to on; false, set to off; nil, keep current setting 



^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ AutoSave_GetOptions

Functioncall:

boolean timestamp_in_project, boolean save_undo_history = ultraschall.AutoSave_GetOptions()

Description:
Gets the current states of the Save to timestamped file in project directory and Save undo history (RPP-UNDO)(if enabled in general prefs)-settings.    

Returnvalues:
 boolean timestamp_in_project Save to timestamped file in project directory; true, set to on; false, set to off 
 boolean save_undo_history Save undo history (RPP-UNDO)(if enabled in general prefs); true, set to on; false, set to off 



^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetProjectState_NumbersOnly

Functioncall:

table values = ultraschall.GetProjectState_NumbersOnly(string projectfilename_with_path, string state, optional string ProjectStateChunk, optional boolean numbertoggle)

Description:
returns a state of the project or a ProjectStateChunk.

It only supports single-entry-states with numbers/integers, separated by spaces!
All other values will be set to nil and strings with spaces will produce weird results!

returns nil in case of an error

Returnvalues:
 table values all values found as numerical indexed array 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the states; nil to use ProjectStateChunk 
 string state the state, whose attributes you want to retrieve 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 
 optional string functionname if this function is used within specific getprojectstate-functions, pass here the "host"-functionname, so error-messages will reflect that 
 optional boolean numbertoggle true or nil; converts all values to numbers; false, keep them as string versions 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_ReaperVersion

Functioncall:

string reaperversion, string timestamp = ultraschall.GetProject_ReaperVersion(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the reaperversion and the timestamp from an RPP-Projectfile or a ProjectStateChunk.

It's the entry "<REAPER_PROJECT"

Returns nil in case of error or if no such entry exists.

Returnvalues:
 string reaperversion the version of Reaper, with which this project had been saved 
 string timestamp a timestamp for this project 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 6.04Ultraschall version 4.00Lua version 5.3 ^ GetProject_RenderCFG

Functioncall:

string render_cfg, string render_cfg2 = ultraschall.GetProject_RenderCFG(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the render-cfg-string2, that contains all render-settings for primary and secondary render-settings of a project from an RPP-Projectfile or a ProjectStateChunk.

It's the entry <RENDER_CFG

Returns nil in case of error or if no such entry exists.

Returnvalues:
 string render_cfg the renderstring, which contains all render-settings for a project/projectstatechunk 
 string render_cfg2 the renderstring, which contains all secondary-render-settings for a project/projectstatechunk 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_RippleState

Functioncall:

integer ripplestate = ultraschall.GetProject_RippleState(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the ripple-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry RIPPLE

Returns nil in case of error or if no such entry exists.

Returnvalues:
 integer ripplestate 0, no Ripple; 1, Ripple One Track; 2, Ripple All 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_GroupOverride

Functioncall:

integer group_override1, integer group_override2, integer group_override3 = ultraschall.GetProject_GroupOverride(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the group-override-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry GROUPOVERRIDE

Returns nil in case of error or if no such entry exists.

Returnvalues:
 integer group_override1 the group-override state 
 integer track_group_enabled the track_group_enabled-setting, as set in the context-menu of the Master-Track; 1, checked; 0, unchecked 
 integer group_override3 the group-override state 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_AutoCrossFade

Functioncall:

integer autocrossfade_state = ultraschall.GetProject_AutoCrossFade(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the autocrossfade-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry AUTOXFADE

Returns nil in case of error or if no such entry exists.

Returnvalues:
 integer autocrossfade_state the autocrossfade-state 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 string ProjectStateChunk a ProjectStateChunk to use instead if a filename 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_EnvAttach

Functioncall:

integer env_attach = ultraschall.GetProject_EnvAttach(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the EnvAttach-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry ENVATTACH

Returns nil in case of error.

Returnvalues:
 integer env_attach the env-attach state 

Parameters:
 string projectfilename_with_path filename with path of the rpp-project-file; nil, use parameter ProjectStateChunk instead 
 string ProjectStateChunk a projectstatechunk to read the value from; only used, projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_PooledEnvAttach

Functioncall:

integer pooled_env_attach = ultraschall.GetProject_PooledEnvAttach(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the PooledEnvAttach-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry POOLEDENVATTACH

Returns nil in case of error.

Returnvalues:
 integer pooled_env_attach the pooled-env-attach state 

Parameters:
 string projectfilename_with_path filename with path of the rpp-project-file; nil, use parameter ProjectStateChunk instead 
 string ProjectStateChunk a projectstatechunk to read the value from; only used, projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_MixerUIFlags

Functioncall:

integer state1, integer state2 = ultraschall.GetProject_MixerUIFlags(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the MixerUI-state-flags from an RPP-Projectfile or a ProjectStateChunk.

It's the entry MIXERUIFLAGS

Returns nil in case of error.

Returnvalues:
 integer state1 folders, receives, etc
0 - Show tracks in folders, Auto arrange tracks in mixer
1 - Show normal top level tracks
2 - Show Folders
4 - Group folders to left
8 - Show tracks that have receives
16 - Group tracks that have receives to left
32 - don't show tracks that are in folder
64 - No Autoarrange tracks in mixer
128 - ?
256 - ? 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_PeakGain

Functioncall:

number peakgain_state = ultraschall.GetProject_PeakGain(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the GetProject_PeakGain-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry PEAKGAIN

Returns nil in case of error.

Returnvalues:
 number peakgain_state peakgain-state 

Parameters:
 string projectfilename_with_path filename with path of the rpp-project-file 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_Feedback

Functioncall:

integer feedback_state = ultraschall.GetProject_Feedback(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the GetProject_Feedback-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry FEEDBACK

Returns nil in case of error.

Returnvalues:
 integer feedback_state feedback-state 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_PanLaw

Functioncall:

number panlaw_state = ultraschall.GetProject_PanLaw(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the GetProject_PanLaw-state from an RPP-Projectfile or a ProjectStateChunk, as set in the project-settings->Advanced->Pan law/mode->Pan:law(db).

It's the entry PANLAW

Returns nil in case of error.

Returnvalues:
 number panlaw_state state of the panlaw, as set in the project-settings->Advanced->Pan law/mode->Pan:law(db). 0.5(-6.02 db) to 1(default +0.0 db) 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.941Ultraschall version 4.00Lua version 5.3 ^ GetProject_ProjOffsets

Functioncall:

number start_time, integer start_measure, integer base_ruler_marking_off_this_measure = ultraschall.GetProject_ProjOffsets(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the Project Offset-state from an RPP-Projectfile or a ProjectStateChunk, start time as well as start measure.
as set in ProjectSettings->ProjectSettings->Project Start Time/Measure and the checkbox Base Ruler Marking Off This Measure-checkbox

It's the entry PROJOFFS

Returns nil in case of error.

Returnvalues:
 number start_time the project-start-time in seconds 
 integer start_measure starting with 0, unlike the Settingswindow, where the 0 becomes 1 as measure 
 integer base_ruler_marking_off_this_measure 0, checkbox unchecked; 1, checkbox checked 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_MaxProjectLength

Functioncall:

integer limit_project_length, number projectlength_limit = ultraschall.GetProject_MaxProjectLength(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the maximum-project-length from an RPP-Projectfile or a ProjectStateChunk, as set in ProjectSettings->Advanced->
as set in ProjectSettings->ProjectSettings->Project Start Time/Measure.

It's the entry MAXPROJLEN

Returns nil in case of error.

Returnvalues:
 integer limit_project_length checkbox "Limit project length, stop playback/recording at:" - 0 off, 1 on 
 number projectlength_limit projectlength-limit in seconds 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_Grid

Functioncall:

integer gridstate1, integer gridstate2, number gridstate3, integer gridstate4, number gridstate5, integer gridstate6, integer gridstate7, number gridstate8 = ultraschall.GetProject_Grid(string projectfilename_with_path)

Description:
Returns the grid-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry GRID

Returns nil in case of error.

Returnvalues:
 integer gridstate1 gridstate1 
 integer gridstate2 gridstate2 
 number gridstate3 gridstate3 
 integer gridstate4 gridstate4 
 number gridstate5 gridstate5 
 integer gridstate6 gridstate6 
 integer gridstate7 gridstate7 
 number gridstate8 gridstate8 

Parameters:
 string projectfilename_with_path filename with path of the rpp-project-file 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_Timemode

Functioncall:

integer ruler_timemode, integer timemode2, integer showntime, integer timemode4, integer timemode5, integer timemode6, integer timemode7 = ultraschall.GetProject_Timemode(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the timemode-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry TIMEMODE

Returns nil in case of error.

Returnvalues:
 integer ruler_timemode ruler-timemode-state
-1, Use ruler time unit
  0, Minutes:Seconds
  1, Measures.Beats / Minutes:Seconds
  2, Measures.Beats
  3, Seconds
  4, Samples
  5, Hours:Minutes:Seconds:Frames
  8, Absolute Frames 
 integer timemode2 timemode-state 
 integer showntime Transport shown time
      -1 - use ruler time unit
       0 - minutes:seconds
       1 - measures:beats/minutes:seconds
       2 - measures:beats
       3 - seconds
       4 - samples
       5 - hours:minutes:seconds:frames
       8 - absolute frames 
 integer timemode4 timemode-state 
 integer timemode5 timemode-state 
 integer timemode6 timemode-state 
 integer timemode7 timemode-state 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_VideoConfig

Functioncall:

integer preferredVidSizeX, integer preferredVidSizeY, integer settingsflags = ultraschall.GetProject_VideoConfig(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the videoconfig-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry VIDEO_CONFIG

Returns nil in case of error.

Returnvalues:
 integer preferredVidSizeX preferred video size, x pixels 
 integer preferredVidSizeY preferred video size, y pixels 
 integer settingsflags settings
             0 - turned on/selected: use high quality filtering, preserve aspect ratio(letterbox) when resizing,
                                     Video colorspace set to Auto,
                                     Items in higher numbered tracks replace lower, as well as Video colorspace set to Auto
             1 - Video colorspace: I420/YV12
             2 - Video colorspace: YUV2
             3 - RGB
             256 - Items in lower numbered tracks replace higher
             512 - Always resize video sources to preferred video size
             1024 - Always resize output to preferred video size
             2048 - turn off "Use high quality filtering when resizing"
             4096 - turn off "preserve aspect ratio (letterbox) when resizing" 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_PanMode

Functioncall:

integer panmode_state = ultraschall.GetProject_PanMode(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the panmode-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry PANMODE

Returns nil in case of error.

Returnvalues:
 integer panmode_state panmode-state
0 reaper 3.x balance (deprecated)
3 Stereo balance / mono pan (default)
5 Stereo pan
6 Dual Pan 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_CursorPos

Functioncall:

number cursorpos = ultraschall.GetProject_CursorPos(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the cursorposition-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry CURSOR

Returns nil in case of error.

Returnvalues:
 number cursorpos editcursorposition in seconds 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_HorizontalZoom

Functioncall:

number hzoom, integer hzoomscrollpos, integer scrollbarfactor = ultraschall.GetProject_HorizontalZoom(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the horizontal-zoom-state from an RPP-Projectfile or a ProjectStateChunk.
Keep in mind, that hzoomscrollpos and scrollbarfactor depend on each other. hzoomscrollpos is a smaller positioning-unit, while scrollbarfactor is the bigger positioning-unit.
Experiment with it to get an idea.

It's the entry ZOOM

Returns nil in case of error.

Returnvalues:
 number hzoom HorizontalZoomfactor, 0.007 to 1000000 
 integer hzoomscrollpos horizontalscrollbarposition - 0 - 4294967296 
 integer scrollbarfactor 0 to 500837, counts up, when maximum hzoomscrollpos overflows 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_VerticalZoom

Functioncall:

integer vzoom = ultraschall.GetProject_VerticalZoom(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the verticalzoom from an RPP-Projectfile or a ProjectStateChunk.

It's the entry VZOOMEX

Returns nil in case of error.

Returnvalues:
 integer vzoom vertical zoomfactor(0-40) 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_UseRecConfig

Functioncall:

integer rec_cfg = ultraschall.GetProject_UseRecConfig(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the rec-cfg-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry USE_REC_CFG

Returns nil in case of error.

Returnvalues:
 integer rec_cfg recording-cfg-state
0 - Automatic .wav (recommended)
1 - Custom (use ultraschall.GetProject_ApplyFXCFG to get recording_cfg_string)
2 - Recording Format 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_RecMode

Functioncall:

integer rec_mode = ultraschall.GetProject_RecMode(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the rec-mode-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry RECMODE

Returns nil in case of error.

Returnvalues:
 integer rec_mode recording-mode-state
0 - Autopunch/Selected Items
1 - normal
2 - Time Selection/Auto Punch 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_SMPTESync

Functioncall:

integer smptesync_state1, number smptesync_fps, integer smptesync_resyncdrift, integer smptesync_skipdropframes, integer smptesync_syncseek, integer smptesync_freewheel, integer smptesync_userinput, number smptesync_offsettimecode, integer smptesync_stop_rec_drift, integer smptesync_state10, integer smptesync_stop_rec_lacktime = ultraschall.GetProject_SMPTESync(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the smpte-sync-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry SMPTESYNC

Returns nil in case of error.

Returnvalues:
 integer smptesync_state1 flag
0 - external timecode synchronization disabled
1 - external timecode synchronization enabled
4 - Start playback on valid timecode when stopped
8 - turned off: display flashing notification window when waiting for sync for recording
16 - playback off
32 - recording off
256 - MTC - 24/30fps MTC is 23.976/29.97ND works only with smptesync_userinput set to 4159
512 - MTC - 24/30fps MTC is 24/30ND 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_Loop

Functioncall:

integer loopbutton_state = ultraschall.GetProject_Loop(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the loop-button-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry LOOP

Returns nil in case of error.

Returnvalues:
 integer loop_mode loopbutton-state, 0 - off, 1 - on 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_LoopGran

Functioncall:

integer loopgran_state1, number loopgran_state2 = ultraschall.GetProject_LoopGran(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the loop_gran-state from an RPP-Projectfile or a ProjectStateChunk.

It's the entry LOOPGRAN

Returns nil in case of error.

Returnvalues:
 integer loopgran_state1 loopgran_state1 
 number loopgran_state2 loopgran_state2 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_RecPath

Functioncall:

string prim_recpath, string sec_recpath = ultraschall.GetProject_RecPath(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the primary and secondary recording-path from an RPP-Projectfile or a ProjectStateChunk.

It's the entry RECORD_PATH

Returns nil in case of error.

Returnvalues:
 string prim_recpath the primary recording path 
 string sec_recpath the secondary recording path 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_RecordCFG

Functioncall:

string recording_cfg_string = ultraschall.GetProject_RecordCFG(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the recording-configuration as encoded BASE64-string from an RPP-Projectfile or a ProjectStateChunk, as set in ProjectSettings->Media->Recording.

It's the entry <RECORD_CFG

Returns nil in case of error.

Returnvalues:
 recording_cfg_string the record-configuration as encoded string 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_ApplyFXCFG

Functioncall:

string applyfx_cfg_string = ultraschall.GetProject_ApplyFXCFG(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the audioformat-configuration, for fx-appliance-operation, as an encoded BASE64-string from an RPP-Projectfile or a ProjectStateChunk, as set in ProjectSettings->Media->Format for Apply FX, Glue, Freeze, etc

It's the entry <APPLY_CFG

Returns nil in case of error.

Returnvalues:
 string applyfx_cfg_string the file-format-configuration for fx-appliance as encoded string 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetProject_RenderPattern

Functioncall:

string render_pattern = ultraschall.GetProject_RenderPattern(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the render-pattern, that tells Reaper, how to automatically name the render-file, from an RPP-Projectfile or a ProjectStateChunk. If it contains nothing, you should check the Render_Pattern using GetProject_RenderFilename, as a render-pattern influences the rendering-filename as well.

It's the entry RENDER_PATTERN

Returns nil in case of error.

Returnvalues:
 string render_pattern the pattern, with which the rendering-filename will be automatically created. Check also GetProject_RenderFilename
Capitalizing the first character of the wildcard will capitalize the first letter of the substitution. Capitalizing the first two characters of the wildcard will capitalize all letters.

Directories will be created if necessary. For example if the render target is "$project/track", the directory "$project" will be created.

Immediately following a wildcard, character replacement statements may be specified:
     -- single character which is to be removed from the substituion. For example: $track< > removes all spaces from the track name, $track<\> removes all slashes.
   -- multiple characters, abcde are all replaced with X. For example: <_.> replaces all underscores with periods, replaces all slashes with underscores. If > is specified as a source character, it must be listed first in the list.

$item    media item take name, if the input is a media item
$itemnumber  1 for the first media item on a track, 2 for the second...
$track    track name
$tracknumber  1 for the first track, 2 for the second...
$parenttrack  parent track name
$region    region name
$regionnumber  1 for the first region, 2 for the second...
$project    project name
$tempo    project tempo at the start of the render region
$timesignature  project time signature at the start of the render region, formatted as 4-4
$filenumber  blank (optionally 1) for the first file rendered, 1 (optionally 2) for the second...
$filenumber[N]  N for the first file rendered, N+1 for the second...
$note    C0 for the first file rendered,C#0 for the second...
$note[X]    X (example: B2) for the first file rendered, X+1 (example: C3) for the second...
$natural    C0 for the first file rendered, D0 for the second...
$natural[X]  X (example: F2) for the first file rendered, X+1 (example: G2) for the second...
$namecount  1 for the first item or region of the same name, 2 for the second...
$timelineorder  1 for the first item or region on the timeline, 2 for the second...

Position/Length:
$start    start time of the media item, render region, or time selection, in M-SS.TTT
$end    end time of the media item, render region, or time selection, in M-SS.TTT
$length    length of the media item, render region, or time selection, in M-SS.TTT
$startbeats  start time in measures.beats of the media item, render region, or time selection
$endbeats  end time in measures.beats of the media item, render region, or time selection
$lengthbeats    length in measures.beats of the media item, render region, or time selection
$starttimecode  start time in H-MM-SS-FF format of the media item, render region, or time selection
$endtimecode  end time in H-MM-SS-FF format of the media item, render region, or time selection
$startframes  start time in absolute frames of the media item, render region, or time selection
$endframes  end time in absolute frames of the media item, render region, or time selection
$lengthframes  length in absolute frames of the media item, render region, or time selection
$startseconds  start time in whole seconds of the media item, render region, or time selection
$endseconds  end time in whole seconds of the media item, render region, or time selection
$lengthseconds  length in whole seconds of the media item, render region, or time selection

Output Format:
$format    render format (example: wav)
$samplerate  sample rate (example: 44100)
$sampleratek  sample rate (example: 44.1)
$bitdepth  bit depth, if available (example: 24 or 32FP)

Current Date/Time:
$year    year, currently 2019
$year2    last 2 digits of the year,currently 19
$month    month number,currently 04
$monthname  month name,currently apr
$day    day of the month, currently 28
$hour    hour of the day in 24-hour format,currently 23
$hour12    hour of the day in 12-hour format,currently 11
$ampm    am if before noon,pm if after noon,currently pm
$minute    minute of the hour,currently 30
$second    second of the minute,currently 27

Computer Information:
$user    user name
$computer  computer name
(this description has been taken from the Render Wildcard Help within the Render-Dialog of Reaper) 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_RenderFreqNChans

Functioncall:

integer unknown, integer rendernum_chans, integer render_frequency = ultraschall.GetProject_RenderFreqNChans(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns an unknown number, the render-frequency and rendernumber of channels from an RPP-Projectfile or a ProjectStateChunk.
It's the entry RENDER_FMT

Returns nil in case of error.

Returnvalues:
 integer unknown unknown number 
 integer rendernum_chans Number_Channels 0-seems default-project-settings(?), 1-Mono, 2-Stereo, ... up to 64 channels 
 integer render_frequency RenderFrequency -2147483647 to 2147483647, except 0, which seems to be default-project-settings-frequency 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_RenderSpeed

Functioncall:

integer render_speed = ultraschall.GetProject_RenderSpeed(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the rendering-speed from an RPP-Projectfile or a ProjectStateChunk.
It's the entry RENDER_1X

Returns nil in case of error.

Returnvalues:
 integer render_speed render_speed
0-Fullspeed Offline
1-1x Offline
2-Online Render
3-Offline Render (Idle)
4-1x Offline Render (Idle) 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetProject_RenderRange

Functioncall:

integer bounds, number time_start, number time_end, integer tail, integer tail_length = ultraschall.GetProject_RenderRange(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the render-range, render-timestart, render-timeend, render-tail and render-taillength from an RPP-Projectfile or a ProjectStateChunk. To get RENDER_STEMS, refer GetProject_RenderStems

It's the entry RENDER_RANGE

Returns nil in case of error.

Returnvalues:
 integer bounds the bounds of the project to be rendered
0, Custom Time Range
1, Entire Project
2, Time Selection,
3, Project Regions
4, Selected Media Items(in combination with RENDER_STEMS 32); to get RENDER_STEMS, refer GetProject_RenderStems
5, Selected regions 
 number time_start TimeStart in milliseconds -2147483647 to 2147483647 
 number time_end TimeEnd in milliseconds 2147483647 to 2147483647 
 integer tail Tail on/off-flags for individual bounds
0, tail off for all bounds
1, custom time range -> tail on
2, entire project -> tail on
4, time selection -> tail on
8, project regions -> tail on     
 integer tail_length TailLength in milliseconds, valuerange 0 - 2147483647 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_RenderResample

Functioncall:

integer resample_mode, integer playback_resample_mode, integer project_smplrate4mix_and_fx = ultraschall.GetProject_RenderResample(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns Resamplemode for a)Rendering and b)Playback as well as c)if both are combined from an RPP-Projectfile or a ProjectStateChunk.

It's the entry RENDER_RESAMPLE

Returns nil in case of error.

Returnvalues:
 integer resample_mode Resample_Mode
0-medium (64pt Sinc),
1-Low (Linear Interpolation),
2-Lowest (Point Sampling),
3-Good(192pt Sinc),
4-Better(384pt Sinc),
5-Fast (IIR + Linear Interpolation),
6-Fast (IIRx2 + Linear Interpolation),
7-Fast (16pt sinc) - Default,
8-HQ (512pt Sinc),
9-Extreme HQ (768pt HQ Sinc) 
 integer playback_resample_mode Playback Resample Mode (as set in the Project-Settings)
0-medium (64pt Sinc),
1-Low (Linear Interpolation),
2-Lowest (Point Sampling),
3-Good(192pt Sinc),
4-Better(384pt Sinc),
5-Fast (IIR + Linear Interpolation),
6-Fast (IIRx2 + Linear Interpolation),
7-Fast (16pt sinc) - Default,
8-HQ (512pt Sinc),
9-Extreme HQ (768pt HQ Sinc) 
 integer project_smplrate4mix_and_fx Use project sample rate for mixing and FX/synth processing-checkbox; 1, checked; 0, unchecked 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ GetProject_AddMediaToProjectAfterRender

Functioncall:

integer state = ultraschall.GetProject_AddMediaToProjectAfterRender(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns, if rendered media shall be added to the project afterwards as well as if likely silent files shall be rendered-state, from an RPP-Projectfile or a ProjectStateChunk.

It's the state of the "Add rendered items to new tracks in project"- checkbox and "Do not render files that are likely silent"-checkbox, as set in the Render to file-dialog.

It's the entry RENDER_ADDTOPROJ

Returns nil in case of error.

Returnvalues:
 integer state the state of the "Add rendered items to new tracks in project"- checkbox and "Do not render files that are likely silent"-checkbox
&1, rendered media shall be added to the project afterwards; 0, don't add
&2, don't render likely silent files; 0, render anyway 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 6.20Ultraschall version 4.2Lua version 5.3 ^ GetProject_RenderStems

Functioncall:

integer render_stems = ultraschall.GetProject_RenderStems(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the render-stems-state from an rpp-project-file or a ProjectStateChunk.

It's the entry RENDER_STEMS

Returns nil in case of error.

Returnvalues:
 integer render_stems the state of Render Stems
0, Source Master Mix,
1, Source Master mix + stems,
3, Source Stems, selected tracks,
&4, Multichannel Tracks to Multichannel Files,
8, Source Region Render Matrix,
&16, Tracks with only Mono-Media to Mono Files,  
32, Selected Media Items(in combination with RENDER_RANGE->Bounds->4, refer to GetProject_RenderRange to get RENDER_RANGE)
64,  Selected media items via master
128, Selected tracks via master
&256, Embed stretch markers/transient guides-checkbox
&1024, Embed Take markers
&2048, enable second pass rendering 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetProject_RenderDitherState

Functioncall:

integer renderdither_state = ultraschall.GetProject_RenderDitherState(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the render-dither-state from an rpp-project-file or a ProjectStateChunk.

It's the entry RENDER_DITHER

Returns nil in case of error.

Returnvalues:
 integer renderdither_state the state of render dithering
&1,   Dither Master mix
&2,   Noise shaping Master mix
&4,   Dither Stems
&8,   Noise shaping Stems 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_TimeBase

Functioncall:

integer timebase = ultraschall.GetProject_TimeBase(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the timebase-state from an rpp-project-file or a ProjectStateChunk.
It's the entry TIMELOCKMODE x

Returns nil in case of error.

Returnvalues:
 integer timebase the timebase for items/envelopes/markers as set in the project settings
0 - Time,
1 - Beats (position, length, rate),
2 - Beats (position only) 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_TempoTimeSignature

Functioncall:

integer tempotimesignature = ultraschall.GetProject_TempoTimeSignature(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the timebase for tempo/time-signature as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.
It's the entry TEMPOENVLOCKMODE

Returns nil in case of error.

Returnvalues:
 integer tempotimesignature the timebase for tempo/time-signature as set in the project settings
0 - Time
1 - Beats 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_ItemMixBehavior

Functioncall:

integer item_mix_behav_state = ultraschall.GetProject_ItemMixBehavior(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the item mix behavior, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.
It's the entry ITEMMIX

Returns nil in case of error.

Returnvalues:
 integer item_mix_behav_state item mix behavior
0 - Enclosed items replace enclosing items
1 - Items always mix
2 - Items always replace earlier items 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.977Ultraschall version 4.00Lua version 5.3 ^ GetProject_DefPitchMode

Functioncall:

integer def_pitch_mode_state, integer stretch_marker_mode = ultraschall.GetProject_DefPitchMode(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the default-pitch-mode, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.

It's the entry DEFPITCHMODE

Returns nil in case of error.

Returnvalues:
 integer def_pitch_mode_state the default pitch mode
      SoundTouch:
          0 - Default settings
          1 - High Quality
          2 - Fast
      
      Simple windowed (fast):
          131072 - 50ms window, 25ms fade
          131073 - 50ms window, 16ms fade
          131074 - 50ms window, 10ms fade
          131075 - 50ms window, 7ms fade
          131076 - 75ms window, 37ms fade
          131077 - 75ms window, 25ms fade
          131078 - 75ms window, 15ms fade
          131079 - 75ms window, 10ms fade
          131080 - 100ms window, 50ms fade
          131081 - 100ms window, 33ms fade
          131082 - 100ms window, 20ms fade
          131083 - 100ms window, 14ms fade
          131084 - 150ms window, 75ms fade
          131085 - 150ms window, 50ms fade
          131086 - 150ms window, 30ms fade
          131087 - 150ms window, 21ms fade
          131088 - 225ms window, 112ms fade
          131089 - 225ms window, 75ms fade
          131090 - 225ms window, 45ms fade
          131091 - 225ms window, 32ms fade
          131092 - 300ms window, 150ms fade
          131093 - 300ms window, 100ms fade
          131094 - 300ms window, 60ms fade
          131095 - 300ms window, 42ms fade
          131096 - 40ms window, 20ms fade
          131097 - 40ms window, 13ms fade
          131098 - 40ms window, 8ms fade
          131099 - 40ms window, 5ms fade
          131100 - 30ms window, 15ms fade
          131101 - 30ms window, 10ms fade
          131102 - 30ms window, 6ms fade
          131103 - 30ms window, 4ms fade
          131104 - 20ms window, 10ms fade
          131105 - 20ms window, 6ms fade
          131106 - 20ms window, 4ms fade
          131107 - 20ms window, 2ms fade
          131108 - 10ms window, 5ms fade
          131109 - 10ms window, 3ms fade
          131110 - 10ms window, 2ms fade
          131111 - 10ms window, 1ms fade
          131112 - 5ms window, 2ms fade
          131113 - 5ms window, 1ms fade
          131114 - 5ms window, 1ms fade
          131115 - 5ms window, 1ms fade
          131116 - 3ms window, 1ms fade
          131117 - 3ms window, 1ms fade
          131118 - 3ms window, 1ms fade
          131119 - 3ms window, 1ms fade
      
      ÃƒÂ©lastique 2.2.8 Pro:
          393216 - Normal
          393217 - Preserve Formants (Lowest Pitches)
          393218 - Preserve Formants (Lower Pitches)
          393219 - Preserve Formants (Low Pitches)
          393220 - Preserve Formants (Most Pitches)
          393221 - Preserve Formants (High Pitches)
          393222 - Preserve Formants (Higher Pitches)
          393223 - Preserve Formants (Highest Pitches)
          393224 - Mid/Side
          393225 - Mid/Side, Preserve Formants (Lowest Pitches)
          393226 - Mid/Side, Preserve Formants (Lower Pitches)
          393227 - Mid/Side, Preserve Formants (Low Pitches)
          393228 - Mid/Side, Preserve Formants (Most Pitches)
          393229 - Mid/Side, Preserve Formants (High Pitches)
          393230 - Mid/Side, Preserve Formants (Higher Pitches)
          393231 - Mid/Side, Preserve Formants (Highest Pitches)
          393232 - Synchronized: Normal
          393233 - Synchronized: Preserve Formants (Lowest Pitches)
          393234 - Synchronized: Preserve Formants (Lower Pitches)
          393235 - Synchronized: Preserve Formants (Low Pitches)
          393236 - Synchronized: Preserve Formants (Most Pitches)
          393237 - Synchronized: Preserve Formants (High Pitches)
          393238 - Synchronized: Preserve Formants (Higher Pitches)
          393239 - Synchronized: Preserve Formants (Highest Pitches)
          393240 - Synchronized:  Mid/Side
          393241 - Synchronized:  Mid/Side, Preserve Formants (Lowest Pitches)
          393242 - Synchronized:  Mid/Side, Preserve Formants (Lower Pitches)
          393243 - Synchronized:  Mid/Side, Preserve Formants (Low Pitches)
          393244 - Synchronized:  Mid/Side, Preserve Formants (Most Pitches)
          393245 - Synchronized:  Mid/Side, Preserve Formants (High Pitches)
          393246 - Synchronized:  Mid/Side, Preserve Formants (Higher Pitches)
          393247 - Synchronized:  Mid/Side, Preserve Formants (Highest Pitches)
      
      ÃƒÂ©lastique 2.2.8 Efficient:
          458752 - Normal
          458753 - Mid/Side
          458754 - Synchronized: Normal
          458755 - Synchronized: Mid/Side
      
      ÃƒÂ©lastique 2.2.8 Soloist:
          524288 - Monophonic
          524289 - Monophonic [Mid/Side]
          524290 - Speech
          524291 - Speech [Mid/Side]
      
      ÃƒÂ©lastique 3.3.0 Pro:
          589824 - Normal
          589825 - Preserve Formants (Lowest Pitches)
          589826 - Preserve Formants (Lower Pitches)
          589827 - Preserve Formants (Low Pitches)
          589828 - Preserve Formants (Most Pitches)
          589829 - Preserve Formants (High Pitches)
          589830 - Preserve Formants (Higher Pitches)
          589831 - Preserve Formants (Highest Pitches)
          589832 - Mid/Side
          589833 - Mid/Side, Preserve Formants (Lowest Pitches)
          589834 - Mid/Side, Preserve Formants (Lower Pitches)
          589835 - Mid/Side, Preserve Formants (Low Pitches)
          589836 - Mid/Side, Preserve Formants (Most Pitches)
          589837 - Mid/Side, Preserve Formants (High Pitches)
          589838 - Mid/Side, Preserve Formants (Higher Pitches)
          589839 - Mid/Side, Preserve Formants (Highest Pitches)
          589840 - Synchronized: Normal
          589841 - Synchronized: Preserve Formants (Lowest Pitches)
          589842 - Synchronized: Preserve Formants (Lower Pitches)
          589843 - Synchronized: Preserve Formants (Low Pitches)
          589844 - Synchronized: Preserve Formants (Most Pitches)
          589845 - Synchronized: Preserve Formants (High Pitches)
          589846 - Synchronized: Preserve Formants (Higher Pitches)
          589847 - Synchronized: Preserve Formants (Highest Pitches)
          589848 - Synchronized:  Mid/Side
          589849 - Synchronized:  Mid/Side, Preserve Formants (Lowest Pitches)
          589850 - Synchronized:  Mid/Side, Preserve Formants (Lower Pitches)
          589851 - Synchronized:  Mid/Side, Preserve Formants (Low Pitches)
          589852 - Synchronized:  Mid/Side, Preserve Formants (Most Pitches)
          589853 - Synchronized:  Mid/Side, Preserve Formants (High Pitches)
          589854 - Synchronized:  Mid/Side, Preserve Formants (Higher Pitches)
          589855 - Synchronized:  Mid/Side, Preserve Formants (Highest Pitches)
      
      ÃƒÂ©lastique 3.3.0 Efficient:
          655360 - Normal
          655361 - Mid/Side
          655362 - Synchronized: Normal
          655363 - Synchronized: Mid/Side
      
      ÃƒÂ©lastique 3.3.0 Soloist:
          720896 - Monophonic
          720897 - Monophonic [Mid/Side]
          720898 - Speech
          720899 - Speech [Mid/Side]
      
      
      Rubber Band Library - Default
          851968 - nothing
      
      Rubber Band Library - Preserve Formants
          851969 - Preserve Formants
      
      Rubber Band Library - Mid/Side
          851970 - Mid/Side
      
      Rubber Band Library - Preserve Formants, Mid/Side
          851971 - Preserve Formants, Mid/Side
      
      Rubber Band Library - Independent Phase
          851972 - Independent Phase
      
      Rubber Band Library - Preserve Formants, Independent Phase
          851973 - Preserve Formants, Independent Phase
      
      Rubber Band Library - Mid/Side, Independent Phase
          851974 - Mid/Side, Independent Phase
      
      Rubber Band Library - Preserve Formants, Mid/Side, Independent Phase
          851975 - Preserve Formants, Mid/Side, Independent Phase
      
      Rubber Band Library - Time Domain Smoothing
          851976 - Time Domain Smoothing
      
      Rubber Band Library - Preserve Formants, Time Domain Smoothing
          851977 - Preserve Formants, Time Domain Smoothing
      
      Rubber Band Library - Mid/Side, Time Domain Smoothing
          851978 - Mid/Side, Time Domain Smoothing
      
      Rubber Band Library - Preserve Formants, Mid/Side, Time Domain Smoothing
          851979 - Preserve Formants, Mid/Side, Time Domain Smoothing
      
      Rubber Band Library - Independent Phase, Time Domain Smoothing
          851980 - Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Preserve Formants, Independent Phase, Time Domain Smoothing
          851981 - Preserve Formants, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Mid/Side, Independent Phase, Time Domain Smoothing
          851982 - Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
          851983 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed
          851984 - nothing
          851985 - Preserve Formants
          851986 - Mid/Side
          851987 - Preserve Formants, Mid/Side
          851988 - Independent Phase
          851989 - Preserve Formants, Independent Phase
          851990 - Mid/Side, Independent Phase
          851991 - Preserve Formants, Mid/Side, Independent Phase
          851992 - Time Domain Smoothing
          851993 - Preserve Formants, Time Domain Smoothing
          851994 - Mid/Side, Time Domain Smoothing
          851995 - Preserve Formants, Mid/Side, Time Domain Smoothing
          851996 - Independent Phase, Time Domain Smoothing
          851997 - Preserve Formants, Independent Phase, Time Domain Smoothing
          851998 - Mid/Side, Independent Phase, Time Domain Smoothing
          851999 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth
          852000 - nothing
          852001 - Preserve Formants
          852002 - Mid/Side
          852003 - Preserve Formants, Mid/Side
          852004 - Independent Phase
          852005 - Preserve Formants, Independent Phase
          852006 - Mid/Side, Independent Phase
          852007 - Preserve Formants, Mid/Side, Independent Phase
          852008 - Time Domain Smoothing
          852009 - Preserve Formants, Time Domain Smoothing
          852010 - Mid/Side, Time Domain Smoothing
          852011 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852012 - Independent Phase, Time Domain Smoothing
          852013 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852014 - Mid/Side, Independent Phase, Time Domain Smoothing
          852015 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive
          852016 - nothing
          852017 - Preserve Formants
          852018 - Mid/Side
          852019 - Preserve Formants, Mid/Side
          852020 - Independent Phase
          852021 - Preserve Formants, Independent Phase
          852022 - Mid/Side, Independent Phase
          852023 - Preserve Formants, Mid/Side, Independent Phase
          852024 - Time Domain Smoothing
          852025 - Preserve Formants, Time Domain Smoothing
          852026 - Mid/Side, Time Domain Smoothing
          852027 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852028 - Independent Phase, Time Domain Smoothing
          852029 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852030 - Mid/Side, Independent Phase, Time Domain Smoothing
          852031 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive
          852032 - nothing
          852033 - Preserve Formants
          852034 - Mid/Side
          852035 - Preserve Formants, Mid/Side
          852036 - Independent Phase
          852037 - Preserve Formants, Independent Phase
          852038 - Mid/Side, Independent Phase
          852039 - Preserve Formants, Mid/Side, Independent Phase
          852040 - Time Domain Smoothing
          852041 - Preserve Formants, Time Domain Smoothing
          852042 - Mid/Side, Time Domain Smoothing
          852043 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852044 - Independent Phase, Time Domain Smoothing
          852045 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852046 - Mid/Side, Independent Phase, Time Domain Smoothing
          852047 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive
          852048 - nothing
          852049 - Preserve Formants
          852050 - Mid/Side
          852051 - Preserve Formants, Mid/Side
          852052 - Independent Phase
          852053 - Preserve Formants, Independent Phase
          852054 - Mid/Side, Independent Phase
          852055 - Preserve Formants, Mid/Side, Independent Phase
          852056 - Time Domain Smoothing
          852057 - Preserve Formants, Time Domain Smoothing
          852058 - Mid/Side, Time Domain Smoothing
          852059 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852060 - Independent Phase, Time Domain Smoothing
          852061 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852062 - Mid/Side, Independent Phase, Time Domain Smoothing
          852063 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft
          852064 - nothing
          852065 - Preserve Formants
          852066 - Mid/Side
          852067 - Preserve Formants, Mid/Side
          852068 - Independent Phase
          852069 - Preserve Formants, Independent Phase
          852070 - Mid/Side, Independent Phase
          852071 - Preserve Formants, Mid/Side, Independent Phase
          852072 - Time Domain Smoothing
          852073 - Preserve Formants, Time Domain Smoothing
          852074 - Mid/Side, Time Domain Smoothing
          852075 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852076 - Independent Phase, Time Domain Smoothing
          852077 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852078 - Mid/Side, Independent Phase, Time Domain Smoothing
          852079 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft
          852080 - nothing
          852081 - Preserve Formants
          852082 - Mid/Side
          852083 - Preserve Formants, Mid/Side
          852084 - Independent Phase
          852085 - Preserve Formants, Independent Phase
          852086 - Mid/Side, Independent Phase
          852087 - Preserve Formants, Mid/Side, Independent Phase
          852088 - Time Domain Smoothing
          852089 - Preserve Formants, Time Domain Smoothing
          852090 - Mid/Side, Time Domain Smoothing
          852091 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852092 - Independent Phase, Time Domain Smoothing
          852093 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852094 - Mid/Side, Independent Phase, Time Domain Smoothing
          852095 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft
          852096 - nothing
          852097 - Preserve Formants
          852098 - Mid/Side
          852099 - Preserve Formants, Mid/Side
          852100 - Independent Phase
          852101 - Preserve Formants, Independent Phase
          852102 - Mid/Side, Independent Phase
          852103 - Preserve Formants, Mid/Side, Independent Phase
          852104 - Time Domain Smoothing
          852105 - Preserve Formants, Time Domain Smoothing
          852106 - Mid/Side, Time Domain Smoothing
          852107 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852108 - Independent Phase, Time Domain Smoothing
          852109 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852110 - Mid/Side, Independent Phase, Time Domain Smoothing
          852111 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Pitch Mode: HighQ
          852112 - nothing
          852113 - Preserve Formants
          852114 - Mid/Side
          852115 - Preserve Formants, Mid/Side
          852116 - Independent Phase
          852117 - Preserve Formants, Independent Phase
          852118 - Mid/Side, Independent Phase
          852119 - Preserve Formants, Mid/Side, Independent Phase
          852120 - Time Domain Smoothing
          852121 - Preserve Formants, Time Domain Smoothing
          852122 - Mid/Side, Time Domain Smoothing
          852123 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852124 - Independent Phase, Time Domain Smoothing
          852125 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852126 - Mid/Side, Independent Phase, Time Domain Smoothing
          852127 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Pitch Mode: HighQ
          852128 - nothing
          852129 - Preserve Formants
          852130 - Mid/Side
          852131 - Preserve Formants, Mid/Side
          852132 - Independent Phase
          852133 - Preserve Formants, Independent Phase
          852134 - Mid/Side, Independent Phase
          852135 - Preserve Formants, Mid/Side, Independent Phase
          852136 - Time Domain Smoothing
          852137 - Preserve Formants, Time Domain Smoothing
          852138 - Mid/Side, Time Domain Smoothing
          852139 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852140 - Independent Phase, Time Domain Smoothing
          852141 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852142 - Mid/Side, Independent Phase, Time Domain Smoothing
          852143 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Pitch Mode: HighQ
          852144 - nothing
          852145 - Preserve Formants
          852146 - Mid/Side
          852147 - Preserve Formants, Mid/Side
          852148 - Independent Phase
          852149 - Preserve Formants, Independent Phase
          852150 - Mid/Side, Independent Phase
          852151 - Preserve Formants, Mid/Side, Independent Phase
          852152 - Time Domain Smoothing
          852153 - Preserve Formants, Time Domain Smoothing
          852154 - Mid/Side, Time Domain Smoothing
          852155 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852156 - Independent Phase, Time Domain Smoothing
          852157 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852158 - Mid/Side, Independent Phase, Time Domain Smoothing
          852159 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Pitch Mode: HighQ
          852160 - nothing
          852161 - Preserve Formants
          852162 - Mid/Side
          852163 - Preserve Formants, Mid/Side
          852164 - Independent Phase
          852165 - Preserve Formants, Independent Phase
          852166 - Mid/Side, Independent Phase
          852167 - Preserve Formants, Mid/Side, Independent Phase
          852168 - Time Domain Smoothing
          852169 - Preserve Formants, Time Domain Smoothing
          852170 - Mid/Side, Time Domain Smoothing
          852171 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852172 - Independent Phase, Time Domain Smoothing
          852173 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852174 - Mid/Side, Independent Phase, Time Domain Smoothing
          852175 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: HighQ
          852176 - nothing
          852177 - Preserve Formants
          852178 - Mid/Side
          852179 - Preserve Formants, Mid/Side
          852180 - Independent Phase
          852181 - Preserve Formants, Independent Phase
          852182 - Mid/Side, Independent Phase
          852183 - Preserve Formants, Mid/Side, Independent Phase
          852184 - Time Domain Smoothing
          852185 - Preserve Formants, Time Domain Smoothing
          852186 - Mid/Side, Time Domain Smoothing
          852187 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852188 - Independent Phase, Time Domain Smoothing
          852189 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852190 - Mid/Side, Independent Phase, Time Domain Smoothing
          852191 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: HighQ
          852192 - nothing
          852193 - Preserve Formants
          852194 - Mid/Side
          852195 - Preserve Formants, Mid/Side
          852196 - Independent Phase
          852197 - Preserve Formants, Independent Phase
          852198 - Mid/Side, Independent Phase
          852199 - Preserve Formants, Mid/Side, Independent Phase
          852200 - Time Domain Smoothing
          852201 - Preserve Formants, Time Domain Smoothing
          852202 - Mid/Side, Time Domain Smoothing
          852203 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852204 - Independent Phase, Time Domain Smoothing
          852205 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852206 - Mid/Side, Independent Phase, Time Domain Smoothing
          852207 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Pitch Mode: HighQ
          852208 - nothing
          852209 - Preserve Formants
          852210 - Mid/Side
          852211 - Preserve Formants, Mid/Side
          852212 - Independent Phase
          852213 - Preserve Formants, Independent Phase
          852214 - Mid/Side, Independent Phase
          852215 - Preserve Formants, Mid/Side, Independent Phase
          852216 - Time Domain Smoothing
          852217 - Preserve Formants, Time Domain Smoothing
          852218 - Mid/Side, Time Domain Smoothing
          852219 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852220 - Independent Phase, Time Domain Smoothing
          852221 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852222 - Mid/Side, Independent Phase, Time Domain Smoothing
          852223 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: HighQ
          852224 - nothing
          852225 - Preserve Formants
          852226 - Mid/Side
          852227 - Preserve Formants, Mid/Side
          852228 - Independent Phase
          852229 - Preserve Formants, Independent Phase
          852230 - Mid/Side, Independent Phase
          852231 - Preserve Formants, Mid/Side, Independent Phase
          852232 - Time Domain Smoothing
          852233 - Preserve Formants, Time Domain Smoothing
          852234 - Mid/Side, Time Domain Smoothing
          852235 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852236 - Independent Phase, Time Domain Smoothing
          852237 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852238 - Mid/Side, Independent Phase, Time Domain Smoothing
          852239 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: HighQ
          852240 - nothing
          852241 - Preserve Formants
          852242 - Mid/Side
          852243 - Preserve Formants, Mid/Side
          852244 - Independent Phase
          852245 - Preserve Formants, Independent Phase
          852246 - Mid/Side, Independent Phase
          852247 - Preserve Formants, Mid/Side, Independent Phase
          852248 - Time Domain Smoothing
          852249 - Preserve Formants, Time Domain Smoothing
          852250 - Mid/Side, Time Domain Smoothing
          852251 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852252 - Independent Phase, Time Domain Smoothing
          852253 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852254 - Mid/Side, Independent Phase, Time Domain Smoothing
          852255 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Pitch Mode: Consistent
          852256 - nothing
          852257 - Preserve Formants
          852258 - Mid/Side
          852259 - Preserve Formants, Mid/Side
          852260 - Independent Phase
          852261 - Preserve Formants, Independent Phase
          852262 - Mid/Side, Independent Phase
          852263 - Preserve Formants, Mid/Side, Independent Phase
          852264 - Time Domain Smoothing
          852265 - Preserve Formants, Time Domain Smoothing
          852266 - Mid/Side, Time Domain Smoothing
          852267 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852268 - Independent Phase, Time Domain Smoothing
          852269 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852270 - Mid/Side, Independent Phase, Time Domain Smoothing
          852271 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Pitch Mode: Consistent
          852272 - nothing
          852273 - Preserve Formants
          852274 - Mid/Side
          852275 - Preserve Formants, Mid/Side
          852276 - Independent Phase
          852277 - Preserve Formants, Independent Phase
          852278 - Mid/Side, Independent Phase
          852279 - Preserve Formants, Mid/Side, Independent Phase
          852280 - Time Domain Smoothing
          852281 - Preserve Formants, Time Domain Smoothing
          852282 - Mid/Side, Time Domain Smoothing
          852283 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852284 - Independent Phase, Time Domain Smoothing
          852285 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852286 - Mid/Side, Independent Phase, Time Domain Smoothing
          852287 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Pitch Mode: Consistent
          852288 - nothing
          852289 - Preserve Formants
          852290 - Mid/Side
          852291 - Preserve Formants, Mid/Side
          852292 - Independent Phase
          852293 - Preserve Formants, Independent Phase
          852294 - Mid/Side, Independent Phase
          852295 - Preserve Formants, Mid/Side, Independent Phase
          852296 - Time Domain Smoothing
          852297 - Preserve Formants, Time Domain Smoothing
          852298 - Mid/Side, Time Domain Smoothing
          852299 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852300 - Independent Phase, Time Domain Smoothing
          852301 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852302 - Mid/Side, Independent Phase, Time Domain Smoothing
          852303 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Pitch Mode: Consistent
          852304 - nothing
          852305 - Preserve Formants
          852306 - Mid/Side
          852307 - Preserve Formants, Mid/Side
          852308 - Independent Phase
          852309 - Preserve Formants, Independent Phase
          852310 - Mid/Side, Independent Phase
          852311 - Preserve Formants, Mid/Side, Independent Phase
          852312 - Time Domain Smoothing
          852313 - Preserve Formants, Time Domain Smoothing
          852314 - Mid/Side, Time Domain Smoothing
          852315 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852316 - Independent Phase, Time Domain Smoothing
          852317 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852318 - Mid/Side, Independent Phase, Time Domain Smoothing
          852319 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: Consistent
          852320 - nothing
          852321 - Preserve Formants
          852322 - Mid/Side
          852323 - Preserve Formants, Mid/Side
          852324 - Independent Phase
          852325 - Preserve Formants, Independent Phase
          852326 - Mid/Side, Independent Phase
          852327 - Preserve Formants, Mid/Side, Independent Phase
          852328 - Time Domain Smoothing
          852329 - Preserve Formants, Time Domain Smoothing
          852330 - Mid/Side, Time Domain Smoothing
          852331 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852332 - Independent Phase, Time Domain Smoothing
          852333 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852334 - Mid/Side, Independent Phase, Time Domain Smoothing
          852335 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: Consistent
          852336 - nothing
          852337 - Preserve Formants
          852338 - Mid/Side
          852339 - Preserve Formants, Mid/Side
          852340 - Independent Phase
          852341 - Preserve Formants, Independent Phase
          852342 - Mid/Side, Independent Phase
          852343 - Preserve Formants, Mid/Side, Independent Phase
          852344 - Time Domain Smoothing
          852345 - Preserve Formants, Time Domain Smoothing
          852346 - Mid/Side, Time Domain Smoothing
          852347 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852348 - Independent Phase, Time Domain Smoothing
          852349 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852350 - Mid/Side, Independent Phase, Time Domain Smoothing
          852351 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Pitch Mode: Consistent
          852352 - nothing
          852353 - Preserve Formants
          852354 - Mid/Side
          852355 - Preserve Formants, Mid/Side
          852356 - Independent Phase
          852357 - Preserve Formants, Independent Phase
          852358 - Mid/Side, Independent Phase
          852359 - Preserve Formants, Mid/Side, Independent Phase
          852360 - Time Domain Smoothing
          852361 - Preserve Formants, Time Domain Smoothing
          852362 - Mid/Side, Time Domain Smoothing
          852363 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852364 - Independent Phase, Time Domain Smoothing
          852365 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852366 - Mid/Side, Independent Phase, Time Domain Smoothing
          852367 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: Consistent
          852368 - nothing
          852369 - Preserve Formants
          852370 - Mid/Side
          852371 - Preserve Formants, Mid/Side
          852372 - Independent Phase
          852373 - Preserve Formants, Independent Phase
          852374 - Mid/Side, Independent Phase
          852375 - Preserve Formants, Mid/Side, Independent Phase
          852376 - Time Domain Smoothing
          852377 - Preserve Formants, Time Domain Smoothing
          852378 - Mid/Side, Time Domain Smoothing
          852379 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852380 - Independent Phase, Time Domain Smoothing
          852381 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852382 - Mid/Side, Independent Phase, Time Domain Smoothing
          852383 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: Consistent
          852384 - nothing
          852385 - Preserve Formants
          852386 - Mid/Side
          852387 - Preserve Formants, Mid/Side
          852388 - Independent Phase
          852389 - Preserve Formants, Independent Phase
          852390 - Mid/Side, Independent Phase
          852391 - Preserve Formants, Mid/Side, Independent Phase
          852392 - Time Domain Smoothing
          852393 - Preserve Formants, Time Domain Smoothing
          852394 - Mid/Side, Time Domain Smoothing
          852395 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852396 - Independent Phase, Time Domain Smoothing
          852397 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852398 - Mid/Side, Independent Phase, Time Domain Smoothing
          852399 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Window: Short
          852400 - nothing
          852401 - Preserve Formants
          852402 - Mid/Side
          852403 - Preserve Formants, Mid/Side
          852404 - Independent Phase
          852405 - Preserve Formants, Independent Phase
          852406 - Mid/Side, Independent Phase
          852407 - Preserve Formants, Mid/Side, Independent Phase
          852408 - Time Domain Smoothing
          852409 - Preserve Formants, Time Domain Smoothing
          852410 - Mid/Side, Time Domain Smoothing
          852411 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852412 - Independent Phase, Time Domain Smoothing
          852413 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852414 - Mid/Side, Independent Phase, Time Domain Smoothing
          852415 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Window: Short
          852416 - nothing
          852417 - Preserve Formants
          852418 - Mid/Side
          852419 - Preserve Formants, Mid/Side
          852420 - Independent Phase
          852421 - Preserve Formants, Independent Phase
          852422 - Mid/Side, Independent Phase
          852423 - Preserve Formants, Mid/Side, Independent Phase
          852424 - Time Domain Smoothing
          852425 - Preserve Formants, Time Domain Smoothing
          852426 - Mid/Side, Time Domain Smoothing
          852427 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852428 - Independent Phase, Time Domain Smoothing
          852429 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852430 - Mid/Side, Independent Phase, Time Domain Smoothing
          852431 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Window: Short
          852432 - nothing
          852433 - Preserve Formants
          852434 - Mid/Side
          852435 - Preserve Formants, Mid/Side
          852436 - Independent Phase
          852437 - Preserve Formants, Independent Phase
          852438 - Mid/Side, Independent Phase
          852439 - Preserve Formants, Mid/Side, Independent Phase
          852440 - Time Domain Smoothing
          852441 - Preserve Formants, Time Domain Smoothing
          852442 - Mid/Side, Time Domain Smoothing
          852443 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852444 - Independent Phase, Time Domain Smoothing
          852445 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852446 - Mid/Side, Independent Phase, Time Domain Smoothing
          852447 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Window: Short
          852448 - nothing
          852449 - Preserve Formants
          852450 - Mid/Side
          852451 - Preserve Formants, Mid/Side
          852452 - Independent Phase
          852453 - Preserve Formants, Independent Phase
          852454 - Mid/Side, Independent Phase
          852455 - Preserve Formants, Mid/Side, Independent Phase
          852456 - Time Domain Smoothing
          852457 - Preserve Formants, Time Domain Smoothing
          852458 - Mid/Side, Time Domain Smoothing
          852459 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852460 - Independent Phase, Time Domain Smoothing
          852461 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852462 - Mid/Side, Independent Phase, Time Domain Smoothing
          852463 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Window: Short
          852464 - nothing
          852465 - Preserve Formants
          852466 - Mid/Side
          852467 - Preserve Formants, Mid/Side
          852468 - Independent Phase
          852469 - Preserve Formants, Independent Phase
          852470 - Mid/Side, Independent Phase
          852471 - Preserve Formants, Mid/Side, Independent Phase
          852472 - Time Domain Smoothing
          852473 - Preserve Formants, Time Domain Smoothing
          852474 - Mid/Side, Time Domain Smoothing
          852475 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852476 - Independent Phase, Time Domain Smoothing
          852477 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852478 - Mid/Side, Independent Phase, Time Domain Smoothing
          852479 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Window: Short
          852480 - nothing
          852481 - Preserve Formants
          852482 - Mid/Side
          852483 - Preserve Formants, Mid/Side
          852484 - Independent Phase
          852485 - Preserve Formants, Independent Phase
          852486 - Mid/Side, Independent Phase
          852487 - Preserve Formants, Mid/Side, Independent Phase
          852488 - Time Domain Smoothing
          852489 - Preserve Formants, Time Domain Smoothing
          852490 - Mid/Side, Time Domain Smoothing
          852491 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852492 - Independent Phase, Time Domain Smoothing
          852493 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852494 - Mid/Side, Independent Phase, Time Domain Smoothing
          852495 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Window: Short
          852496 - nothing
          852497 - Preserve Formants
          852498 - Mid/Side
          852499 - Preserve Formants, Mid/Side
          852500 - Independent Phase
          852501 - Preserve Formants, Independent Phase
          852502 - Mid/Side, Independent Phase
          852503 - Preserve Formants, Mid/Side, Independent Phase
          852504 - Time Domain Smoothing
          852505 - Preserve Formants, Time Domain Smoothing
          852506 - Mid/Side, Time Domain Smoothing
          852507 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852508 - Independent Phase, Time Domain Smoothing
          852509 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852510 - Mid/Side, Independent Phase, Time Domain Smoothing
          852511 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Window: Short
          852512 - nothing
          852513 - Preserve Formants
          852514 - Mid/Side
          852515 - Preserve Formants, Mid/Side
          852516 - Independent Phase
          852517 - Preserve Formants, Independent Phase
          852518 - Mid/Side, Independent Phase
          852519 - Preserve Formants, Mid/Side, Independent Phase
          852520 - Time Domain Smoothing
          852521 - Preserve Formants, Time Domain Smoothing
          852522 - Mid/Side, Time Domain Smoothing
          852523 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852524 - Independent Phase, Time Domain Smoothing
          852525 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852526 - Mid/Side, Independent Phase, Time Domain Smoothing
          852527 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Window: Short
          852528 - nothing
          852529 - Preserve Formants
          852530 - Mid/Side
          852531 - Preserve Formants, Mid/Side
          852532 - Independent Phase
          852533 - Preserve Formants, Independent Phase
          852534 - Mid/Side, Independent Phase
          852535 - Preserve Formants, Mid/Side, Independent Phase
          852536 - Time Domain Smoothing
          852537 - Preserve Formants, Time Domain Smoothing
          852538 - Mid/Side, Time Domain Smoothing
          852539 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852540 - Independent Phase, Time Domain Smoothing
          852541 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852542 - Mid/Side, Independent Phase, Time Domain Smoothing
          852543 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Pitch Mode: HighQ, Window: Short
          852544 - nothing
          852545 - Preserve Formants
          852546 - Mid/Side
          852547 - Preserve Formants, Mid/Side
          852548 - Independent Phase
          852549 - Preserve Formants, Independent Phase
          852550 - Mid/Side, Independent Phase
          852551 - Preserve Formants, Mid/Side, Independent Phase
          852552 - Time Domain Smoothing
          852553 - Preserve Formants, Time Domain Smoothing
          852554 - Mid/Side, Time Domain Smoothing
          852555 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852556 - Independent Phase, Time Domain Smoothing
          852557 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852558 - Mid/Side, Independent Phase, Time Domain Smoothing
          852559 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Pitch Mode: HighQ, Window: Short
          852560 - nothing
          852561 - Preserve Formants
          852562 - Mid/Side
          852563 - Preserve Formants, Mid/Side
          852564 - Independent Phase
          852565 - Preserve Formants, Independent Phase
          852566 - Mid/Side, Independent Phase
          852567 - Preserve Formants, Mid/Side, Independent Phase
          852568 - Time Domain Smoothing
          852569 - Preserve Formants, Time Domain Smoothing
          852570 - Mid/Side, Time Domain Smoothing
          852571 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852572 - Independent Phase, Time Domain Smoothing
          852573 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852574 - Mid/Side, Independent Phase, Time Domain Smoothing
          852575 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Pitch Mode: HighQ, Window: Short
          852576 - nothing
          852577 - Preserve Formants
          852578 - Mid/Side
          852579 - Preserve Formants, Mid/Side
          852580 - Independent Phase
          852581 - Preserve Formants, Independent Phase
          852582 - Mid/Side, Independent Phase
          852583 - Preserve Formants, Mid/Side, Independent Phase
          852584 - Time Domain Smoothing
          852585 - Preserve Formants, Time Domain Smoothing
          852586 - Mid/Side, Time Domain Smoothing
          852587 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852588 - Independent Phase, Time Domain Smoothing
          852589 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852590 - Mid/Side, Independent Phase, Time Domain Smoothing
          852591 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Pitch Mode: HighQ, Window: Short
          852592 - nothing
          852593 - Preserve Formants
          852594 - Mid/Side
          852595 - Preserve Formants, Mid/Side
          852596 - Independent Phase
          852597 - Preserve Formants, Independent Phase
          852598 - Mid/Side, Independent Phase
          852599 - Preserve Formants, Mid/Side, Independent Phase
          852600 - Time Domain Smoothing
          852601 - Preserve Formants, Time Domain Smoothing
          852602 - Mid/Side, Time Domain Smoothing
          852603 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852604 - Independent Phase, Time Domain Smoothing
          852605 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852606 - Mid/Side, Independent Phase, Time Domain Smoothing
          852607 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: HighQ, Window: Short
          852608 - nothing
          852609 - Preserve Formants
          852610 - Mid/Side
          852611 - Preserve Formants, Mid/Side
          852612 - Independent Phase
          852613 - Preserve Formants, Independent Phase
          852614 - Mid/Side, Independent Phase
          852615 - Preserve Formants, Mid/Side, Independent Phase
          852616 - Time Domain Smoothing
          852617 - Preserve Formants, Time Domain Smoothing
          852618 - Mid/Side, Time Domain Smoothing
          852619 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852620 - Independent Phase, Time Domain Smoothing
          852621 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852622 - Mid/Side, Independent Phase, Time Domain Smoothing
          852623 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: HighQ, Window: Short
          852624 - nothing
          852625 - Preserve Formants
          852626 - Mid/Side
          852627 - Preserve Formants, Mid/Side
          852628 - Independent Phase
          852629 - Preserve Formants, Independent Phase
          852630 - Mid/Side, Independent Phase
          852631 - Preserve Formants, Mid/Side, Independent Phase
          852632 - Time Domain Smoothing
          852633 - Preserve Formants, Time Domain Smoothing
          852634 - Mid/Side, Time Domain Smoothing
          852635 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852636 - Independent Phase, Time Domain Smoothing
          852637 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852638 - Mid/Side, Independent Phase, Time Domain Smoothing
          852639 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Pitch Mode: HighQ, Window: Short
          852640 - nothing
          852641 - Preserve Formants
          852642 - Mid/Side
          852643 - Preserve Formants, Mid/Side
          852644 - Independent Phase
          852645 - Preserve Formants, Independent Phase
          852646 - Mid/Side, Independent Phase
          852647 - Preserve Formants, Mid/Side, Independent Phase
          852648 - Time Domain Smoothing
          852649 - Preserve Formants, Time Domain Smoothing
          852650 - Mid/Side, Time Domain Smoothing
          852651 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852652 - Independent Phase, Time Domain Smoothing
          852653 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852654 - Mid/Side, Independent Phase, Time Domain Smoothing
          852655 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: HighQ, Window: Short
          852656 - nothing
          852657 - Preserve Formants
          852658 - Mid/Side
          852659 - Preserve Formants, Mid/Side
          852660 - Independent Phase
          852661 - Preserve Formants, Independent Phase
          852662 - Mid/Side, Independent Phase
          852663 - Preserve Formants, Mid/Side, Independent Phase
          852664 - Time Domain Smoothing
          852665 - Preserve Formants, Time Domain Smoothing
          852666 - Mid/Side, Time Domain Smoothing
          852667 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852668 - Independent Phase, Time Domain Smoothing
          852669 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852670 - Mid/Side, Independent Phase, Time Domain Smoothing
          852671 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: HighQ, Window: Short
          852672 - nothing
          852673 - Preserve Formants
          852674 - Mid/Side
          852675 - Preserve Formants, Mid/Side
          852676 - Independent Phase
          852677 - Preserve Formants, Independent Phase
          852678 - Mid/Side, Independent Phase
          852679 - Preserve Formants, Mid/Side, Independent Phase
          852680 - Time Domain Smoothing
          852681 - Preserve Formants, Time Domain Smoothing
          852682 - Mid/Side, Time Domain Smoothing
          852683 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852684 - Independent Phase, Time Domain Smoothing
          852685 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852686 - Mid/Side, Independent Phase, Time Domain Smoothing
          852687 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Pitch Mode: Consistent, Window: Short
          852688 - nothing
          852689 - Preserve Formants
          852690 - Mid/Side
          852691 - Preserve Formants, Mid/Side
          852692 - Independent Phase
          852693 - Preserve Formants, Independent Phase
          852694 - Mid/Side, Independent Phase
          852695 - Preserve Formants, Mid/Side, Independent Phase
          852696 - Time Domain Smoothing
          852697 - Preserve Formants, Time Domain Smoothing
          852698 - Mid/Side, Time Domain Smoothing
          852699 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852700 - Independent Phase, Time Domain Smoothing
          852701 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852702 - Mid/Side, Independent Phase, Time Domain Smoothing
          852703 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Pitch Mode: Consistent, Window: Short
          852704 - nothing
          852705 - Preserve Formants
          852706 - Mid/Side
          852707 - Preserve Formants, Mid/Side
          852708 - Independent Phase
          852709 - Preserve Formants, Independent Phase
          852710 - Mid/Side, Independent Phase
          852711 - Preserve Formants, Mid/Side, Independent Phase
          852712 - Time Domain Smoothing
          852713 - Preserve Formants, Time Domain Smoothing
          852714 - Mid/Side, Time Domain Smoothing
          852715 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852716 - Independent Phase, Time Domain Smoothing
          852717 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852718 - Mid/Side, Independent Phase, Time Domain Smoothing
          852719 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Pitch Mode: Consistent, Window: Short
          852720 - nothing
          852721 - Preserve Formants
          852722 - Mid/Side
          852723 - Preserve Formants, Mid/Side
          852724 - Independent Phase
          852725 - Preserve Formants, Independent Phase
          852726 - Mid/Side, Independent Phase
          852727 - Preserve Formants, Mid/Side, Independent Phase
          852728 - Time Domain Smoothing
          852729 - Preserve Formants, Time Domain Smoothing
          852730 - Mid/Side, Time Domain Smoothing
          852731 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852732 - Independent Phase, Time Domain Smoothing
          852733 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852734 - Mid/Side, Independent Phase, Time Domain Smoothing
          852735 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Pitch Mode: Consistent, Window: Short
          852736 - nothing
          852737 - Preserve Formants
          852738 - Mid/Side
          852739 - Preserve Formants, Mid/Side
          852740 - Independent Phase
          852741 - Preserve Formants, Independent Phase
          852742 - Mid/Side, Independent Phase
          852743 - Preserve Formants, Mid/Side, Independent Phase
          852744 - Time Domain Smoothing
          852745 - Preserve Formants, Time Domain Smoothing
          852746 - Mid/Side, Time Domain Smoothing
          852747 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852748 - Independent Phase, Time Domain Smoothing
          852749 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852750 - Mid/Side, Independent Phase, Time Domain Smoothing
          852751 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: Consistent, Window: Short
          852752 - nothing
          852753 - Preserve Formants
          852754 - Mid/Side
          852755 - Preserve Formants, Mid/Side
          852756 - Independent Phase
          852757 - Preserve Formants, Independent Phase
          852758 - Mid/Side, Independent Phase
          852759 - Preserve Formants, Mid/Side, Independent Phase
          852760 - Time Domain Smoothing
          852761 - Preserve Formants, Time Domain Smoothing
          852762 - Mid/Side, Time Domain Smoothing
          852763 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852764 - Independent Phase, Time Domain Smoothing
          852765 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852766 - Mid/Side, Independent Phase, Time Domain Smoothing
          852767 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: Consistent, Window: Short
          852768 - nothing
          852769 - Preserve Formants
          852770 - Mid/Side
          852771 - Preserve Formants, Mid/Side
          852772 - Independent Phase
          852773 - Preserve Formants, Independent Phase
          852774 - Mid/Side, Independent Phase
          852775 - Preserve Formants, Mid/Side, Independent Phase
          852776 - Time Domain Smoothing
          852777 - Preserve Formants, Time Domain Smoothing
          852778 - Mid/Side, Time Domain Smoothing
          852779 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852780 - Independent Phase, Time Domain Smoothing
          852781 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852782 - Mid/Side, Independent Phase, Time Domain Smoothing
          852783 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Pitch Mode: Consistent, Window: Short
          852784 - nothing
          852785 - Preserve Formants
          852786 - Mid/Side
          852787 - Preserve Formants, Mid/Side
          852788 - Independent Phase
          852789 - Preserve Formants, Independent Phase
          852790 - Mid/Side, Independent Phase
          852791 - Preserve Formants, Mid/Side, Independent Phase
          852792 - Time Domain Smoothing
          852793 - Preserve Formants, Time Domain Smoothing
          852794 - Mid/Side, Time Domain Smoothing
          852795 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852796 - Independent Phase, Time Domain Smoothing
          852797 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852798 - Mid/Side, Independent Phase, Time Domain Smoothing
          852799 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: Consistent, Window: Short
          852800 - nothing
          852801 - Preserve Formants
          852802 - Mid/Side
          852803 - Preserve Formants, Mid/Side
          852804 - Independent Phase
          852805 - Preserve Formants, Independent Phase
          852806 - Mid/Side, Independent Phase
          852807 - Preserve Formants, Mid/Side, Independent Phase
          852808 - Time Domain Smoothing
          852809 - Preserve Formants, Time Domain Smoothing
          852810 - Mid/Side, Time Domain Smoothing
          852811 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852812 - Independent Phase, Time Domain Smoothing
          852813 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852814 - Mid/Side, Independent Phase, Time Domain Smoothing
          852815 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: Consistent, Window: Short
          852816 - nothing
          852817 - Preserve Formants
          852818 - Mid/Side
          852819 - Preserve Formants, Mid/Side
          852820 - Independent Phase
          852821 - Preserve Formants, Independent Phase
          852822 - Mid/Side, Independent Phase
          852823 - Preserve Formants, Mid/Side, Independent Phase
          852824 - Time Domain Smoothing
          852825 - Preserve Formants, Time Domain Smoothing
          852826 - Mid/Side, Time Domain Smoothing
          852827 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852828 - Independent Phase, Time Domain Smoothing
          852829 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852830 - Mid/Side, Independent Phase, Time Domain Smoothing
          852831 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Window: Long
          852832 - nothing
          852833 - Preserve Formants
          852834 - Mid/Side
          852835 - Preserve Formants, Mid/Side
          852836 - Independent Phase
          852837 - Preserve Formants, Independent Phase
          852838 - Mid/Side, Independent Phase
          852839 - Preserve Formants, Mid/Side, Independent Phase
          852840 - Time Domain Smoothing
          852841 - Preserve Formants, Time Domain Smoothing
          852842 - Mid/Side, Time Domain Smoothing
          852843 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852844 - Independent Phase, Time Domain Smoothing
          852845 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852846 - Mid/Side, Independent Phase, Time Domain Smoothing
          852847 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Window: Long
          852848 - nothing
          852849 - Preserve Formants
          852850 - Mid/Side
          852851 - Preserve Formants, Mid/Side
          852852 - Independent Phase
          852853 - Preserve Formants, Independent Phase
          852854 - Mid/Side, Independent Phase
          852855 - Preserve Formants, Mid/Side, Independent Phase
          852856 - Time Domain Smoothing
          852857 - Preserve Formants, Time Domain Smoothing
          852858 - Mid/Side, Time Domain Smoothing
          852859 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852860 - Independent Phase, Time Domain Smoothing
          852861 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852862 - Mid/Side, Independent Phase, Time Domain Smoothing
          852863 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Window: Long
          852864 - nothing
          852865 - Preserve Formants
          852866 - Mid/Side
          852867 - Preserve Formants, Mid/Side
          852868 - Independent Phase
          852869 - Preserve Formants, Independent Phase
          852870 - Mid/Side, Independent Phase
          852871 - Preserve Formants, Mid/Side, Independent Phase
          852872 - Time Domain Smoothing
          852873 - Preserve Formants, Time Domain Smoothing
          852874 - Mid/Side, Time Domain Smoothing
          852875 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852876 - Independent Phase, Time Domain Smoothing
          852877 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852878 - Mid/Side, Independent Phase, Time Domain Smoothing
          852879 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Window: Long
          852880 - nothing
          852881 - Preserve Formants
          852882 - Mid/Side
          852883 - Preserve Formants, Mid/Side
          852884 - Independent Phase
          852885 - Preserve Formants, Independent Phase
          852886 - Mid/Side, Independent Phase
          852887 - Preserve Formants, Mid/Side, Independent Phase
          852888 - Time Domain Smoothing
          852889 - Preserve Formants, Time Domain Smoothing
          852890 - Mid/Side, Time Domain Smoothing
          852891 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852892 - Independent Phase, Time Domain Smoothing
          852893 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852894 - Mid/Side, Independent Phase, Time Domain Smoothing
          852895 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Window: Long
          852896 - nothing
          852897 - Preserve Formants
          852898 - Mid/Side
          852899 - Preserve Formants, Mid/Side
          852900 - Independent Phase
          852901 - Preserve Formants, Independent Phase
          852902 - Mid/Side, Independent Phase
          852903 - Preserve Formants, Mid/Side, Independent Phase
          852904 - Time Domain Smoothing
          852905 - Preserve Formants, Time Domain Smoothing
          852906 - Mid/Side, Time Domain Smoothing
          852907 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852908 - Independent Phase, Time Domain Smoothing
          852909 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852910 - Mid/Side, Independent Phase, Time Domain Smoothing
          852911 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Window: Long
          852912 - nothing
          852913 - Preserve Formants
          852914 - Mid/Side
          852915 - Preserve Formants, Mid/Side
          852916 - Independent Phase
          852917 - Preserve Formants, Independent Phase
          852918 - Mid/Side, Independent Phase
          852919 - Preserve Formants, Mid/Side, Independent Phase
          852920 - Time Domain Smoothing
          852921 - Preserve Formants, Time Domain Smoothing
          852922 - Mid/Side, Time Domain Smoothing
          852923 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852924 - Independent Phase, Time Domain Smoothing
          852925 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852926 - Mid/Side, Independent Phase, Time Domain Smoothing
          852927 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Window: Long
          852928 - nothing
          852929 - Preserve Formants
          852930 - Mid/Side
          852931 - Preserve Formants, Mid/Side
          852932 - Independent Phase
          852933 - Preserve Formants, Independent Phase
          852934 - Mid/Side, Independent Phase
          852935 - Preserve Formants, Mid/Side, Independent Phase
          852936 - Time Domain Smoothing
          852937 - Preserve Formants, Time Domain Smoothing
          852938 - Mid/Side, Time Domain Smoothing
          852939 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852940 - Independent Phase, Time Domain Smoothing
          852941 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852942 - Mid/Side, Independent Phase, Time Domain Smoothing
          852943 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Window: Long
          852944 - nothing
          852945 - Preserve Formants
          852946 - Mid/Side
          852947 - Preserve Formants, Mid/Side
          852948 - Independent Phase
          852949 - Preserve Formants, Independent Phase
          852950 - Mid/Side, Independent Phase
          852951 - Preserve Formants, Mid/Side, Independent Phase
          852952 - Time Domain Smoothing
          852953 - Preserve Formants, Time Domain Smoothing
          852954 - Mid/Side, Time Domain Smoothing
          852955 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852956 - Independent Phase, Time Domain Smoothing
          852957 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852958 - Mid/Side, Independent Phase, Time Domain Smoothing
          852959 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Window: Long
          852960 - nothing
          852961 - Preserve Formants
          852962 - Mid/Side
          852963 - Preserve Formants, Mid/Side
          852964 - Independent Phase
          852965 - Preserve Formants, Independent Phase
          852966 - Mid/Side, Independent Phase
          852967 - Preserve Formants, Mid/Side, Independent Phase
          852968 - Time Domain Smoothing
          852969 - Preserve Formants, Time Domain Smoothing
          852970 - Mid/Side, Time Domain Smoothing
          852971 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852972 - Independent Phase, Time Domain Smoothing
          852973 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852974 - Mid/Side, Independent Phase, Time Domain Smoothing
          852975 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Pitch Mode: HighQ, Window: Long
          852976 - nothing
          852977 - Preserve Formants
          852978 - Mid/Side
          852979 - Preserve Formants, Mid/Side
          852980 - Independent Phase
          852981 - Preserve Formants, Independent Phase
          852982 - Mid/Side, Independent Phase
          852983 - Preserve Formants, Mid/Side, Independent Phase
          852984 - Time Domain Smoothing
          852985 - Preserve Formants, Time Domain Smoothing
          852986 - Mid/Side, Time Domain Smoothing
          852987 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852988 - Independent Phase, Time Domain Smoothing
          852989 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852990 - Mid/Side, Independent Phase, Time Domain Smoothing
          852991 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Pitch Mode: HighQ, Window: Long
          852992 - nothing
          852993 - Preserve Formants
          852994 - Mid/Side
          852995 - Preserve Formants, Mid/Side
          852996 - Independent Phase
          852997 - Preserve Formants, Independent Phase
          852998 - Mid/Side, Independent Phase
          852999 - Preserve Formants, Mid/Side, Independent Phase
          853000 - Time Domain Smoothing
          853001 - Preserve Formants, Time Domain Smoothing
          853002 - Mid/Side, Time Domain Smoothing
          853003 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853004 - Independent Phase, Time Domain Smoothing
          853005 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853006 - Mid/Side, Independent Phase, Time Domain Smoothing
          853007 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Pitch Mode: HighQ, Window: Long
          853008 - nothing
          853009 - Preserve Formants
          853010 - Mid/Side
          853011 - Preserve Formants, Mid/Side
          853012 - Independent Phase
          853013 - Preserve Formants, Independent Phase
          853014 - Mid/Side, Independent Phase
          853015 - Preserve Formants, Mid/Side, Independent Phase
          853016 - Time Domain Smoothing
          853017 - Preserve Formants, Time Domain Smoothing
          853018 - Mid/Side, Time Domain Smoothing
          853019 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853020 - Independent Phase, Time Domain Smoothing
          853021 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853022 - Mid/Side, Independent Phase, Time Domain Smoothing
          853023 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Pitch Mode: HighQ, Window: Long
          853024 - nothing
          853025 - Preserve Formants
          853026 - Mid/Side
          853027 - Preserve Formants, Mid/Side
          853028 - Independent Phase
          853029 - Preserve Formants, Independent Phase
          853030 - Mid/Side, Independent Phase
          853031 - Preserve Formants, Mid/Side, Independent Phase
          853032 - Time Domain Smoothing
          853033 - Preserve Formants, Time Domain Smoothing
          853034 - Mid/Side, Time Domain Smoothing
          853035 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853036 - Independent Phase, Time Domain Smoothing
          853037 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853038 - Mid/Side, Independent Phase, Time Domain Smoothing
          853039 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: HighQ, Window: Long
          853040 - nothing
          853041 - Preserve Formants
          853042 - Mid/Side
          853043 - Preserve Formants, Mid/Side
          853044 - Independent Phase
          853045 - Preserve Formants, Independent Phase
          853046 - Mid/Side, Independent Phase
          853047 - Preserve Formants, Mid/Side, Independent Phase
          853048 - Time Domain Smoothing
          853049 - Preserve Formants, Time Domain Smoothing
          853050 - Mid/Side, Time Domain Smoothing
          853051 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853052 - Independent Phase, Time Domain Smoothing
          853053 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853054 - Mid/Side, Independent Phase, Time Domain Smoothing
          853055 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: HighQ, Window: Long
          853056 - nothing
          853057 - Preserve Formants
          853058 - Mid/Side
          853059 - Preserve Formants, Mid/Side
          853060 - Independent Phase
          853061 - Preserve Formants, Independent Phase
          853062 - Mid/Side, Independent Phase
          853063 - Preserve Formants, Mid/Side, Independent Phase
          853064 - Time Domain Smoothing
          853065 - Preserve Formants, Time Domain Smoothing
          853066 - Mid/Side, Time Domain Smoothing
          853067 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853068 - Independent Phase, Time Domain Smoothing
          853069 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853070 - Mid/Side, Independent Phase, Time Domain Smoothing
          853071 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Pitch Mode: HighQ, Window: Long
          853072 - nothing
          853073 - Preserve Formants
          853074 - Mid/Side
          853075 - Preserve Formants, Mid/Side
          853076 - Independent Phase
          853077 - Preserve Formants, Independent Phase
          853078 - Mid/Side, Independent Phase
          853079 - Preserve Formants, Mid/Side, Independent Phase
          853080 - Time Domain Smoothing
          853081 - Preserve Formants, Time Domain Smoothing
          853082 - Mid/Side, Time Domain Smoothing
          853083 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853084 - Independent Phase, Time Domain Smoothing
          853085 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853086 - Mid/Side, Independent Phase, Time Domain Smoothing
          853087 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: HighQ, Window: Long
          853088 - nothing
          853089 - Preserve Formants
          853090 - Mid/Side
          853091 - Preserve Formants, Mid/Side
          853092 - Independent Phase
          853093 - Preserve Formants, Independent Phase
          853094 - Mid/Side, Independent Phase
          853095 - Preserve Formants, Mid/Side, Independent Phase
          853096 - Time Domain Smoothing
          853097 - Preserve Formants, Time Domain Smoothing
          853098 - Mid/Side, Time Domain Smoothing
          853099 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853100 - Independent Phase, Time Domain Smoothing
          853101 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853102 - Mid/Side, Independent Phase, Time Domain Smoothing
          853103 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: HighQ, Window: Long
          853104 - nothing
          853105 - Preserve Formants
          853106 - Mid/Side
          853107 - Preserve Formants, Mid/Side
          853108 - Independent Phase
          853109 - Preserve Formants, Independent Phase
          853110 - Mid/Side, Independent Phase
          853111 - Preserve Formants, Mid/Side, Independent Phase
          853112 - Time Domain Smoothing
          853113 - Preserve Formants, Time Domain Smoothing
          853114 - Mid/Side, Time Domain Smoothing
          853115 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853116 - Independent Phase, Time Domain Smoothing
          853117 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853118 - Mid/Side, Independent Phase, Time Domain Smoothing
          853119 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Pitch Mode: Consistent, Window: Long
          853120 - nothing
          853121 - Preserve Formants
          853122 - Mid/Side
          853123 - Preserve Formants, Mid/Side
          853124 - Independent Phase
          853125 - Preserve Formants, Independent Phase
          853126 - Mid/Side, Independent Phase
          853127 - Preserve Formants, Mid/Side, Independent Phase
          853128 - Time Domain Smoothing
          853129 - Preserve Formants, Time Domain Smoothing
          853130 - Mid/Side, Time Domain Smoothing
          853131 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853132 - Independent Phase, Time Domain Smoothing
          853133 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853134 - Mid/Side, Independent Phase, Time Domain Smoothing
          853135 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Pitch Mode: Consistent, Window: Long
          853136 - nothing
          853137 - Preserve Formants
          853138 - Mid/Side
          853139 - Preserve Formants, Mid/Side
          853140 - Independent Phase
          853141 - Preserve Formants, Independent Phase
          853142 - Mid/Side, Independent Phase
          853143 - Preserve Formants, Mid/Side, Independent Phase
          853144 - Time Domain Smoothing
          853145 - Preserve Formants, Time Domain Smoothing
          853146 - Mid/Side, Time Domain Smoothing
          853147 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853148 - Independent Phase, Time Domain Smoothing
          853149 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853150 - Mid/Side, Independent Phase, Time Domain Smoothing
          853151 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Pitch Mode: Consistent, Window: Long
          853152 - nothing
          853153 - Preserve Formants
          853154 - Mid/Side
          853155 - Preserve Formants, Mid/Side
          853156 - Independent Phase
          853157 - Preserve Formants, Independent Phase
          853158 - Mid/Side, Independent Phase
          853159 - Preserve Formants, Mid/Side, Independent Phase
          853160 - Time Domain Smoothing
          853161 - Preserve Formants, Time Domain Smoothing
          853162 - Mid/Side, Time Domain Smoothing
          853163 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853164 - Independent Phase, Time Domain Smoothing
          853165 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853166 - Mid/Side, Independent Phase, Time Domain Smoothing
          853167 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Pitch Mode: Consistent, Window: Long
          853168 - nothing
          853169 - Preserve Formants
          853170 - Mid/Side
          853171 - Preserve Formants, Mid/Side
          853172 - Independent Phase
          853173 - Preserve Formants, Independent Phase
          853174 - Mid/Side, Independent Phase
          853175 - Preserve Formants, Mid/Side, Independent Phase
          853176 - Time Domain Smoothing
          853177 - Preserve Formants, Time Domain Smoothing
          853178 - Mid/Side, Time Domain Smoothing
          853179 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853180 - Independent Phase, Time Domain Smoothing
          853181 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853182 - Mid/Side, Independent Phase, Time Domain Smoothing
          853183 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: Consistent, Window: Long
          853184 - nothing
          853185 - Preserve Formants
          853186 - Mid/Side
          853187 - Preserve Formants, Mid/Side
          853188 - Independent Phase
          853189 - Preserve Formants, Independent Phase
          853190 - Mid/Side, Independent Phase
          853191 - Preserve Formants, Mid/Side, Independent Phase
          853192 - Time Domain Smoothing
          853193 - Preserve Formants, Time Domain Smoothing
          853194 - Mid/Side, Time Domain Smoothing
          853195 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853196 - Independent Phase, Time Domain Smoothing
          853197 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853198 - Mid/Side, Independent Phase, Time Domain Smoothing
          853199 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: Consistent, Window: Long
          853200 - nothing
          853201 - Preserve Formants
          853202 - Mid/Side
          853203 - Preserve Formants, Mid/Side
          853204 - Independent Phase
          853205 - Preserve Formants, Independent Phase
          853206 - Mid/Side, Independent Phase
          853207 - Preserve Formants, Mid/Side, Independent Phase
          853208 - Time Domain Smoothing
          853209 - Preserve Formants, Time Domain Smoothing
          853210 - Mid/Side, Time Domain Smoothing
          853211 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853212 - Independent Phase, Time Domain Smoothing
          853213 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853214 - Mid/Side, Independent Phase, Time Domain Smoothing
          853215 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Pitch Mode: Consistent, Window: Long
          853216 - nothing
          853217 - Preserve Formants
          853218 - Mid/Side
          853219 - Preserve Formants, Mid/Side
          853220 - Independent Phase
          853221 - Preserve Formants, Independent Phase
          853222 - Mid/Side, Independent Phase
          853223 - Preserve Formants, Mid/Side, Independent Phase
          853224 - Time Domain Smoothing
          853225 - Preserve Formants, Time Domain Smoothing
          853226 - Mid/Side, Time Domain Smoothing
          853227 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853228 - Independent Phase, Time Domain Smoothing
          853229 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853230 - Mid/Side, Independent Phase, Time Domain Smoothing
          853231 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: Consistent, Window: Long
          853232 - nothing
          853233 - Preserve Formants
          853234 - Mid/Side
          853235 - Preserve Formants, Mid/Side
          853236 - Independent Phase
          853237 - Preserve Formants, Independent Phase
          853238 - Mid/Side, Independent Phase
          853239 - Preserve Formants, Mid/Side, Independent Phase
          853240 - Time Domain Smoothing
          853241 - Preserve Formants, Time Domain Smoothing
          853242 - Mid/Side, Time Domain Smoothing
          853243 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853244 - Independent Phase, Time Domain Smoothing
          853245 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853246 - Mid/Side, Independent Phase, Time Domain Smoothing
          853247 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: Consistent, Window: Long
          853248 - nothing
          853249 - Preserve Formants
          853250 - Mid/Side
          853251 - Preserve Formants, Mid/Side
          853252 - Independent Phase
          853253 - Preserve Formants, Independent Phase
          853254 - Mid/Side, Independent Phase
          853255 - Preserve Formants, Mid/Side, Independent Phase
          853256 - Time Domain Smoothing
          853257 - Preserve Formants, Time Domain Smoothing
          853258 - Mid/Side, Time Domain Smoothing
          853259 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853260 - Independent Phase, Time Domain Smoothing
          853261 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853262 - Mid/Side, Independent Phase, Time Domain Smoothing
          853263 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing 
 integer stretch_marker_mode the stretch marker mode
0, Balanced
1, Tonal-optimized
2, Transient-optimized
3, No pre-echo reduction 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_TakeLane

Functioncall:

integer take_lane_state = ultraschall.GetProject_TakeLane(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the take-lane-state from an rpp-project-file or a ProjectStateChunk.

It's the entry TAKELANE

Returns nil in case of error.

Returnvalues:
 integer take_lane_state take-lane-state 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_SampleRate

Functioncall:

integer sample_rate, integer project_sample_rate, integer force_tempo_time_sig = ultraschall.GetProject_SampleRate(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the take-lane-state, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.

It's the entry SAMPLERATE

Returns nil in case of error.

Returnvalues:
 integer sample_rate Project Sample Rate in Hz 
 integer project_sample_rate Checkbox: Project Sample Rate 
 integer force_tempo_time_sig Checkbox: Force Project Tempo/Time Signature changes to occur on whole samples  

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_TrackMixingDepth

Functioncall:

integer track_mixing_depth = ultraschall.GetProject_TrackMixingDepth(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the track-mixing-state, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.
It's the entry INTMIXMODE

Returns -1 in case of error, nil if it's set to 64bit(default)!

Returnvalues:
 integer track_mixing_depth track mixing depth
nil - 64bit float (default)
1 - 32 bit float
2 - 39 bit integer
3 - 24 bit integer
4 - 16 bit integer
5 - 12 bit integer
6 - 8 bit integer 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_TrackStateChunk

Functioncall:

string trackstatechunk = ultraschall.GetProject_TrackStateChunk(string projectfilename_with_path, integer idx, boolean deletetrackid, optional string ProjectStateChunk)

Description:
Returns an RPPXML-trackstatechunk from an rpp-project-file or a ProjectStateChunk, with tracknumber idx. IDX is 1 for the first track in the project-file, 2 for the second, etc
Returns -1 in case of error.

Use GetProject_NumberOfTracks to get the number of tracks within an rpp-file.

The returned trackstatechunk can be inserted into the current project with InsertTrack_TrackStateChunk.

Returnvalues:
 string trackstatechunk an RPP-XML-Trackstate-chunk, that can be used by functions like reaper.SetTrackStateChunk() 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 integer idx the tracknumber you want to have 
 boolean deletetrackid deletes the trackID in the trackstate-chunk, to avoid possible conflicts within a project, where it shall be imported to 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetProject_NumberOfTracks

Functioncall:

integer number_of_tracks = ultraschall.GetProject_NumberOfTracks(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the number of tracks within an rpp-project-file or a GetProject_NumberOfTracks.
Returns -1 in case of error.

Note: Huge projectfiles with thousands of items may take some seconds to load.

Returnvalues:
 integer number_of_tracks the number of tracks within an projectfile 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_Selection

Functioncall:

number start_selection, number end_selection, number start_selection2, number end_selection2 = ultraschall.GetProject_Selection(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the selection-range from an RPP-Projectfile or a ProjectStateChunk.

It's the entry SELECTION

Returns nil in case of error or if no such entry exists.

Returnvalues:
 number start_selection start of the time-selection 
 number end_selection end of the time-selection 
 number start_selection2 start of the time-selection 
 number end_selection2 end of the time-selection 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetProject_RenderQueueDelay

Functioncall:

boolean qdelay_checkstate, integer qdelay_seconds = ultraschall.GetProject_Selection(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the state of the checkbox Delay queued render to allow samples to load-checkbox and the length of the delay.

It's the entry RENDER_QDELAY

Returns nil in case of error or if no such entry exists.

Returnvalues:
 boolean qdelay_checkstate true, the checkbox is checked; false, it is unchecked 
 integer qdelay_seconds the length of the queued-render-delay in seconds 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetProject_QRenderOriginalProject

Functioncall:

string qrender_originalproject_file = ultraschall.GetProject_QRenderOriginalProject(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the original-filename of a queue-render-projectfile. Will return empty string, if the queued-render-project hadn't been saved before it was added to the render-queue.

It's the entry QUEUED_RENDER_ORIGINAL_FILENAME

Returns nil in case of error or if no such entry exists.

Returnvalues:
 string qrender_originalproject_file the original-projectfilename of the queue-render-project 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetProject_QRenderOutFiles

Functioncall:

integer count_outfiles, table QRenderOutFilesList, table QRenderOutFilesListGuid, boolean AutoCloseWhenFinished, boolean AutoIncrementFilename, boolean SaveCopyToOutfile = ultraschall.GetProject_QRenderOutFiles(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the outfiles of the rendered files, stored in a queue-render-projectfile. This includes the path and files of the files, that will be rendered.

It's the entry QUEUED_RENDER_OUTFILE

Returns nil in case of error or if no such entry exists.

Returnvalues:
 integer count_outfiles the number of render-outfiles 
 table QRenderOutFilesList an array with all filenames-with-paths that the rendered files will have;
if the filename contains "-001" or higher, this represents a file for a rendered stem, otherwise it is the one for the master. 
 table QRenderOutFilesListGuid the guids of the rendered outfiles 
 boolean AutoCloseWhenFinished true, the render-dialog will be closed after render is finished; false, the render-dialog keeps open 
 boolean AutoIncrementFilename true, autoincrement filename if the file already exists; false, don't autoincrement filename 
 boolean SaveCopyToOutfile true, save a copy of the project as e.g. "outfile.wav.RPP"; false, don't save a copy of the project 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 6.11Ultraschall version 4.1Lua version 5.3 ^ GetProject_MetaDataStateChunk

Functioncall:

string MetaDataStateChunk = ultraschall.GetProject_MetaDataStateChunk(string ProjectStateChunk, optional string ProjectStateChunk)

Description:
returns the Metadata-StateChunk, that holds all Metadata-entries.

It's the entry <RENDER_METADATA ... >

returns nil in case of an error

Returnvalues:
 string MetaDataStateChunk the statechunk of the metadata 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the projectbay-statechunk; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_RippleState

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RippleState(string projectfilename_with_path, integer ripple_state, optional string ProjectStatechunk)

Description:
Sets the ripple-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer ripple_state 0, no Ripple; 1, Ripple One Track; 2, Ripple All 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ SetProject_RenderQueueDelay

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RenderQueueDelay(string projectfilename_with_path, integer renderqdelay, optional string ProjectStatechunk)

Description:
Sets the render-queue-delay-time in an rpp-project-file or a ProjectStateChunk.

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer renderqdelay 0 and higher, sets the checkbox "Delay queued render to allow samples to load and the amount of time to wait in seconds
nil, if you want to turn off render-queue-delay in the project/ProjectStateChunk 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_Selection

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_Selection(string projectfilename_with_path, number starttime, number endtime, number starttime2, number endtime2, optional string ProjectStatechunk)

Description:
Sets the ripple-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 number starttime start of the selection in seconds 
 number endtime end of the selection in seconds 
 number starttime2 start of the second selection in seconds 
 number endtime2 end of the second selection in seconds 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_GroupOverride

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_GroupOverride(string projectfilename_with_path, integer group_override1, optional string ProjectStateChunk)

Description:
Sets the group-override-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer group_override1 the group-override state 
 integer group_override2 the group-override state 
 integer group_override3 the group-override state 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_AutoCrossFade

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_AutoCrossFade(string projectfilename_with_path, integer autocrossfade_state, optional string ProjectStateChunk)

Description:
Sets the autocrossfade-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer autocrossfade_state autocrossfade-state 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_EnvAttach

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_EnvAttach(string projectfilename_with_path, integer env_attach, optional string ProjectStateChunk)

Description:
Sets the env_attach-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer env_attach env_attach-state 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_MixerUIFlags

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_MixerUIFlags(string projectfilename_with_path, integer state_bitfield1, integer state_bitfield2, optional string ProjectStateChunk)

Description:
Sets the Mixer-UI-state-flags in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer state_bitfield1 folders, receives, etc
             0 - Show tracks in folders, Auto arrange tracks in mixer
             1 - Show normal top level tracks
             2 - Show Folders
             4 - Group folders to left
             8 - Show tracks that have receives
             16 - Group tracks that have receives to left
             32 - don't show tracks that are in folder
             64 - No Autoarrange tracks in mixer
             128 - ?
             256 - ? 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_PeakGain

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_PeakGain(string projectfilename_with_path, number peakgain_state, optional string ProjectStateChunk)

Description:
Sets the peak-gain-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 number peakgain_state peak-gain-state 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_Feedback

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_Feedback(string projectfilename_with_path, integer feedback_state, optional string ProjectStateChunk)

Description:
Sets the feedback-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer feedback_state feedback-state 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_PanLaw

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_PanLaw(string projectfilename_with_path, number panlaw_state, optional string ProjectStateChunk)

Description:
Sets the panlaw-state, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 number panlaw_state state of the panlaw, as set in the project-settings->Advanced->Pan law/mode->Pan:law(db). 0.5(-6.02 db) to 1(default +0.0 db) 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.941Ultraschall version 4.00Lua version 5.3 ^ SetProject_ProjOffsets

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_ProjOffsets(string projectfilename_with_path, number start_time, integer start_measure, integer base_ruler_marking_off_this_measure, optional ProjectStateChunk)

Description:
Sets the project-offset-state, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.

The project-offset, as set in the ProjectSettings -> Project Time Start, Project start measure and Base Ruler Marking Off This Measure-checkbox

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 number start_time the project-start-time in seconds 
 integer start_measure the start-measure; starting with 0, unlike in the Project-Settings-window, where the 0 becomes 1 as startmeasure 
 integer base_ruler_marking_off_this_measure 0, checkbox unchecked; 1, checkbox checked 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_MaxProjectLength

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_MaxProjectLength(string projectfilename_with_path, integer limit_project_length, number projectlength_limit, optional string ProjectStateChunk)

Description:
Sets the max-project-length-state, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer limit_project_length checkbox "Limit project length, stop playback/recording at:" - 0 off, 1 on 
 number projectlength_limit projectlength-limit in seconds 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_Grid

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_Grid(string projectfilename_with_path, integer gridstate1, integer gridstate2, number gridstate3, integer gridstate4, number gridstate5, integer gridstate6, integer gridstate7, number gridstate8, optional string ProjectStateChunk)

Description:
Sets the setproject-grid-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer gridstate1 gridstate1 
 integer gridstate2 gridstate2 
 number gridstate3 gridstate3 
 integer gridstate4 gridstate4 
 number gridstate5 gridstate5 
 integer gridstate6 gridstate6 
 integer gridstate7 gridstate7 
 number gridstate8 gridstate8 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_Timemode

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_Timemode(string projectfilename_with_path, integer timemode1, integer timemode2, integer showntime, integer timemode4, integer timemode5, optional string ProjectStateChunk)

Description:
Sets the timemode-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer ruler_timemode ruler-timemode-state
-1, Use ruler time unit
  0, Minutes:Seconds
  1, Measures.Beats / Minutes:Seconds
  2, Measures.Beats
  3, Seconds
  4, Samples
  5, Hours:Minutes:Seconds:Frames
  8, Absolute Frames 
 integer timemode2 timemode-state 
 integer showntime Transport shown time
              -1 - use ruler time unit
              0 - minutes:seconds
              1 - measures:beats/minutes:seconds
              2 - measures:beats
              3 - seconds
              4 - samples
              5 - hours:minutes:seconds:frames
              8 - absolute frames 
 integer timemode4 timemode-state 
 integer timemode5 timemode-state 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_VideoConfig

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_VideoConfig(string projectfilename_with_path, integer preferredVidSizeX, integer preferredVidSizeY, integer settingsBitfield, optional string ProjectStateChunk)

Description:
Sets the video-config-settings, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer preferredVidSizeX preferred video size, x pixels 
 integer preferredVidSizeY preferred video size, y pixels 
 integer settingsBitfield settings
             0 - turned on/selected: use high quality filtering, preserve aspect ratio(letterbox) when resizing,
                                     Video colorspace set to Auto,
                                     Items in higher numbered tracks replace lower, as well as Video colorspace set to Auto
             1 - Video colorspace: I420/YV12
             2 - Video colorspace: YUV2
             3 - RGB
             256 - Items in lower numbered tracks replace higher
             512 - Always resize video sources to preferred video size
             1024 - Always resize output to preferred video size
             2048 - turn off "Use high quality filtering when resizing"
             4096 - turn off "preserve aspect ratio (letterbox) when resizing" 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_PanMode

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_PanMode(string projectfilename_with_path, integer panmode_state, optional string ProjectStateChunk)

Description:
Sets the panmode-settings, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer panmode_state panmode-state - ProjectSettings->Advanced->Pan law/mode->Pan mode
             0 reaper 3.x balance (deprecated)
             3 Stereo balance / mono pan (default)
             5 Stereo pan
             6 Dual Pan 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_CursorPos

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_CursorPos(string projectfilename_with_path, number cursorpos, optional string ProjectStateChunk)

Description:
Sets the cursor-position in an rpp-project-file or a ProjectStateChunk
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 number cursorpos editcursorposition in seconds 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_HorizontalZoom

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_HorizontalZoom(string projectfilename_with_path, number hzoom, integer hzoomscrollpos, integer scrollbarfactor, optional string ProjectStateChunk)

Description:
Sets the horizontal-zoom in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 number hzoom HorizontalZoomfactor, 0.007 to 1000000 
 integer hzoomscrollpos horizontalscrollbarposition - 0 - 4294967296 
 integer scrollbarfactor 0 to 500837, counts up, when maximum hzoomscrollpos overflows 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_VerticalZoom

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_VerticalZoom(string projectfilename_with_path, integer vzoom, optional string ProjectStateChunk)

Description:
Sets the vertical-zoom from an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer vzoom vertical zoomfactor(0-40) 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_UseRecConfig

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_UseRecConfig(string projectfilename_with_path, integer rec_cfg, optional string ProjectStateChunk)

Description:
Sets the UseRec-Config in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer rec_cfg recording-cfg-state
              0 - Automatic .wav (recommended)
              1 - Custom (use ultraschall.GetProject_ApplyFXCFG to get recording_cfg_string)
              2 - Recording Format 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_RecMode

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RecMode(string projectfilename_with_path, integer rec_mode, optional string ProjectStateChunk)

Description:
Sets the recording-mode-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer rec_mode recording mode
0, Autopunch/Selected Items
1, normal
2, Time Selection/Auto Punch 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_SMPTESync

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_SMPTESync(string projectfilename_with_path, integer smptesync_state1, number smptesync_fps, integer smptesync_resyncdrift, integer smptesync_skipdropframes, integer smptesync_syncseek, integer smptesync_freewheel, integer smptesync_userinput, number smptesync_offsettimecode, integer smptesync_stop_rec_drift, integer smptesync_state10, integer smptesync_stop_rec_lacktime, optional string ProjectStateChunk)

Description:
Sets the TimeCodeSyncronization-SMPTE-Config in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer smptesync_state1 flag
             0 - external timecode synchronization disabled
             1 - external timecode synchronization enabled
             4 - Start playback on valid timecode when stopped
             8 - turned off: display flashing notification window when waiting for sync for recording
             16 - playback off
             32 - recording off
             256 - MTC - 24/30fps MTC is 23.976/29.97ND works only with smptesync_userinput set to 4159
             512 - MTC - 24/30fps MTC is 24/30ND 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_Loop

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_Loop(string projectfilename_with_path, integer loopbutton_state, optional string ProjectStateChunk)

Description:
Sets the UseRec-Config in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer loop_mode loopbutton-state, 0, off; 1, on 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_LoopGran

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_LoopGran(string projectfilename_with_path, integer loopgran_state1, number loopgran_state2, optional string ProjectStateChunk)

Description:
Sets the Loop-Gran-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer loopgran_state1 loopgran_state1 
 number loopgran_state2 loopgran_state2 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_RecPath

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RecPath(string projectfilename_with_path, string prim_recpath, string sec_recpath, optional string ProjectStateChunk)

Description:
Sets the primary and secondary recording-paths in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 string prim_recpath primary recording path 
 string sec_recpath secondary recording path 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_RecordCFG

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RecordCFG(string projectfilename_with_path, string recording_cfg_string, optional string ProjectStateChunk)

Description:
Sets the recording-configuration as encoded string in an RPP-Projectfile or a ProjectStateChunk, as set in ProjectSettings->Media->Recording.

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 recording_cfg_string the record-configuration as encoded string 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 6.04Ultraschall version 4.00Lua version 5.3 ^ SetProject_RenderCFG

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RenderCFG(string projectfilename_with_path, string rendercfg_string, string rendercfg_string2, optional string ProjectStateChunk)

Description:
Sets the primary and secondary render-configuration as encoded string in an RPP-Projectfile or a ProjectStateChunk, as set in Render-Settings

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 rendercfg_string the render-configuration as encoded string 
 rendercfg_string2 the secondary render-configuration as encoded string; use "" or nil to not set it 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_ApplyFXCFG

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_ApplyFXCFG(string projectfilename_with_path, string applyfx_cfg_string, optional string ProjectStateChunk)

Description:
Sets the audioformat-configuration, for fx-appliance-operation, as an encoded string in an RPP-Projectfile or a ProjectStateChunk, as set in ProjectSettings->Media->Format for Apply FX, Glue, Freeze, etc

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 string applyfx_cfg_string the file-format-configuration for fx-appliance as encoded string 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_RenderFilename

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RenderFilename(string projectfilename_with_path, string renderfilename, optional string ProjectStateChunk)

Description:
Sets the render-filename in an rpp-projectfile or a ProjectStateChunk. Set to "", if you want to set a render-pattern with SetProject_RenderPattern.

The rendername is influenced by the settings in the RENDER_PATTERN-entry in the RPP-file, see SetProject_RenderPattern to influence or remove the RENDER_PATTERN-entry(Removing RENDER_PATTERN may help when Reaper rendering it to the name given in parameter render_filename.

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk insteadO 
 string render_filename the filename for rendering, check also GetProject_RenderPattern 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_RenderFreqNChans

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RenderFreqNChans(string projectfilename_with_path, integer unknown, integer rendernum_chans, integer render_frequency, optional string ProjectStateChunk)

Description:
Returns an unknown number, the render-frequency and rendernumber of channels from an RPP-Projectfile or a ProjectStateChunk.

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer unknown unknown number 
 integer rendernum_chans Number_Channels 0-seems default-project-settings(?), 1-Mono, 2-Stereo, ... up to 64 channels 
 integer render_frequency RenderFrequency -2147483647 to 2147483647, except 0, which seems to be default-project-settings-frequency 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_RenderSpeed

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RenderSpeed(string projectfilename_with_path, integer render_speed, optional string ProjectStateChunk)

Description:
Sets a rendering-speed in an RPP-Projectfile or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer render_speed render_speed
             0-Fullspeed Offline
             1-1x Offline
             2-Online Render
             3-Offline Render (Idle)
            4-1x Offline Render (Idle) 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ SetProject_RenderRange

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RenderRange(string projectfilename_with_path, integer bounds, number time_start, number time_end, integer tail, integer tail_length, optional string ProjectStateChunk)

Description:
Sets the render-range, render-timestart, render-timeend, render-tail and render-taillength in an RPP-Projectfile or a ProjectStateChunk.
To get RENDER_STEMS, refer GetProject_RenderStems
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer bounds the bounds of the project to be rendered
             0, Custom Time Range
             1, Entire Project
             2, Time Selection,
             3, Project Regions
             4, Selected Media Items(in combination with RENDER_STEMS 32); to get RENDER_STEMS, refer GetProject_RenderStems
             5, Selected regions 
 number time_start TimeStart in milliseconds -2147483647 to 2147483647 
 number time_end TimeEnd in milliseconds 2147483647 to 2147483647 
 integer tail Tail on/off-flags for individual bounds
             0, tail off for all bounds
             1, custom time range -> tail on
             2, entire project -> tail on
             4, time selection -> tail on
             8, project regions -> tail on 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_RenderResample

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RenderResample(string projectfilename_with_path, integer resample_mode, integer playback_resample_mode, integer project_smplrate4mix_and_fx, optional string ProjectStateChunk)

Description:
Resamplemode for a)Rendering and b)Playback as well as c)if both are combined from an RPP-Projectfile or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer resample_mode Resample_Mode
             0-medium (64pt Sinc),
             1-Low (Linear Interpolation),
             2-Lowest (Point Sampling),
             3-Good(192pt Sinc),
             4-Better(384pt Sinc),
             5-Fast (IIR + Linear Interpolation),
             6-Fast (IIRx2 + Linear Interpolation),
             7-Fast (16pt sinc) - Default,
             8-HQ (512pt Sinc),
             9-Extreme HQ (768pt HQ Sinc) 
 integer playback_resample_mode Playback Resample Mode (as set in the Project-Settings)
           0-medium (64pt Sinc),
           1-Low (Linear Interpolation),
           2-Lowest (Point Sampling),
           3-Good(192pt Sinc),
           4-Better(384pt Sinc),
           5-Fast (IIR + Linear Interpolation),
           6-Fast (IIRx2 + Linear Interpolation),
           7-Fast (16pt sinc) - Default,
           8-HQ (512pt Sinc),
           9-Extreme HQ (768pt HQ Sinc)     
 integer project_smplrate4mix_and_fx Use project sample rate for mixing and FX/synth processing-checkbox; 1, checked; 0, unchecked 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ SetProject_AddMediaToProjectAfterRender

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_AddMediaToProjectAfterRender(string projectfilename_with_path, integer state, optional string ProjectStateChunk)

Description:
Sets, if rendered media shall be added to the project afterwards as well as if likely silent files shall be rendered-state, from an RPP-Projectfile or a ProjectStateChunk.

It's the state of the "Add rendered items to new tracks in project"- checkbox and "Do not render files that are likely silent"-checkbox, as set in the Render to file-dialog.

It's the entry RENDER_ADDTOPROJ

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer state the state of the "Add rendered items to new tracks in project"- checkbox and "Do not render files that are likely silent"-checkbox
&1, rendered media shall be added to the project afterwards; 0, don't add
&2, don't render likely silent files; 0, render anyway 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 6.20Ultraschall version 4.2Lua version 5.3 ^ SetProject_RenderStems

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RenderStems(string projectfilename_with_path, integer render_stems, optional string ProjectStateChunk)

Description:
Sets the render-stems-state from an RPP-Projectfile or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer render_stems the state of Render Stems
0, Source Master Mix,
1, Source Master mix + stems,
3, Source Stems, selected tracks,
&4, Multichannel Tracks to Multichannel Files,
8, Source Region Render Matrix,
&16, Tracks with only Mono-Media to Mono Files,  
32, Selected Media Items(in combination with RENDER_RANGE->Bounds->4, refer to GetProject_RenderRange to get RENDER_RANGE)
64, Selected media items via master
128, Selected tracks via master
&256, Embed stretch markers/transient guides-checkbox
&1024, Embed Take markers
&2048, enable second pass rendering 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_RenderDitherState

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_RenderDitherState(string projectfilename_with_path, integer renderdither_state, optional string ProjectStateChunk)

Description:
Sets the render-dither-state from an RPP-Projectfile or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer renderdither_state the state of render dithering
&1,   Dither Master mix
&2,   Noise shaping Master mix
&4,   Dither Stems
&8,   Noise shaping Stems 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_TimeBase

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_TimeBase(string projectfilename_with_path, integer timebase, optional string ProjectStateChunk)

Description:
Sets the timebase, as set in the project-settings, in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer timebase the timebase for items/envelopes/markers as set in the project settings
             0 - Time,
             1 - Beats (position, length, rate),
             2 - Beats (position only) 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_TempoTimeSignature

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_TempoTimeSignature(string projectfilename_with_path, integer tempotimesignature, optional string ProjectStateChunk)

Description:
Sets the timebase, as set in the project-settings, in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer tempotimesignature the timebase for tempo/time-signature as set in the project settings
             0 - Time
             1 - Beats 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_ItemMixBehavior

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_ItemMixBehavior(string projectfilename_with_path, integer item_mix_behav_state, optional string ProjectStateChunk)

Description:
Sets the item mix behavior, as set in the project-settings, from an rpp-project-file.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path filename with path of the rpp-project-file 
 integer item_mix_behav_state item mix behavior
              0 - Enclosed items replace enclosing items
              1 - Items always mix
              2 - Items always replace earlier items 


^ Reaper version 5.977Ultraschall version 4.00Lua version 5.3 ^ SetProject_DefPitchMode

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_DefPitchMode(string projectfilename_with_path, integer def_pitch_mode_state, integer stretch_marker_mode, optional string ProjectStateChunk)

Description:
Sets the default-pitch-mode, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer def_pitch_mode_state the default pitch mode
      SoundTouch:
          0 - Default settings
          1 - High Quality
          2 - Fast
      
      Simple windowed (fast):
          131072 - 50ms window, 25ms fade
          131073 - 50ms window, 16ms fade
          131074 - 50ms window, 10ms fade
          131075 - 50ms window, 7ms fade
          131076 - 75ms window, 37ms fade
          131077 - 75ms window, 25ms fade
          131078 - 75ms window, 15ms fade
          131079 - 75ms window, 10ms fade
          131080 - 100ms window, 50ms fade
          131081 - 100ms window, 33ms fade
          131082 - 100ms window, 20ms fade
          131083 - 100ms window, 14ms fade
          131084 - 150ms window, 75ms fade
          131085 - 150ms window, 50ms fade
          131086 - 150ms window, 30ms fade
          131087 - 150ms window, 21ms fade
          131088 - 225ms window, 112ms fade
          131089 - 225ms window, 75ms fade
          131090 - 225ms window, 45ms fade
          131091 - 225ms window, 32ms fade
          131092 - 300ms window, 150ms fade
          131093 - 300ms window, 100ms fade
          131094 - 300ms window, 60ms fade
          131095 - 300ms window, 42ms fade
          131096 - 40ms window, 20ms fade
          131097 - 40ms window, 13ms fade
          131098 - 40ms window, 8ms fade
          131099 - 40ms window, 5ms fade
          131100 - 30ms window, 15ms fade
          131101 - 30ms window, 10ms fade
          131102 - 30ms window, 6ms fade
          131103 - 30ms window, 4ms fade
          131104 - 20ms window, 10ms fade
          131105 - 20ms window, 6ms fade
          131106 - 20ms window, 4ms fade
          131107 - 20ms window, 2ms fade
          131108 - 10ms window, 5ms fade
          131109 - 10ms window, 3ms fade
          131110 - 10ms window, 2ms fade
          131111 - 10ms window, 1ms fade
          131112 - 5ms window, 2ms fade
          131113 - 5ms window, 1ms fade
          131114 - 5ms window, 1ms fade
          131115 - 5ms window, 1ms fade
          131116 - 3ms window, 1ms fade
          131117 - 3ms window, 1ms fade
          131118 - 3ms window, 1ms fade
          131119 - 3ms window, 1ms fade
      
      ÃƒÂ©lastique 2.2.8 Pro:
          393216 - Normal
          393217 - Preserve Formants (Lowest Pitches)
          393218 - Preserve Formants (Lower Pitches)
          393219 - Preserve Formants (Low Pitches)
          393220 - Preserve Formants (Most Pitches)
          393221 - Preserve Formants (High Pitches)
          393222 - Preserve Formants (Higher Pitches)
          393223 - Preserve Formants (Highest Pitches)
          393224 - Mid/Side
          393225 - Mid/Side, Preserve Formants (Lowest Pitches)
          393226 - Mid/Side, Preserve Formants (Lower Pitches)
          393227 - Mid/Side, Preserve Formants (Low Pitches)
          393228 - Mid/Side, Preserve Formants (Most Pitches)
          393229 - Mid/Side, Preserve Formants (High Pitches)
          393230 - Mid/Side, Preserve Formants (Higher Pitches)
          393231 - Mid/Side, Preserve Formants (Highest Pitches)
          393232 - Synchronized: Normal
          393233 - Synchronized: Preserve Formants (Lowest Pitches)
          393234 - Synchronized: Preserve Formants (Lower Pitches)
          393235 - Synchronized: Preserve Formants (Low Pitches)
          393236 - Synchronized: Preserve Formants (Most Pitches)
          393237 - Synchronized: Preserve Formants (High Pitches)
          393238 - Synchronized: Preserve Formants (Higher Pitches)
          393239 - Synchronized: Preserve Formants (Highest Pitches)
          393240 - Synchronized:  Mid/Side
          393241 - Synchronized:  Mid/Side, Preserve Formants (Lowest Pitches)
          393242 - Synchronized:  Mid/Side, Preserve Formants (Lower Pitches)
          393243 - Synchronized:  Mid/Side, Preserve Formants (Low Pitches)
          393244 - Synchronized:  Mid/Side, Preserve Formants (Most Pitches)
          393245 - Synchronized:  Mid/Side, Preserve Formants (High Pitches)
          393246 - Synchronized:  Mid/Side, Preserve Formants (Higher Pitches)
          393247 - Synchronized:  Mid/Side, Preserve Formants (Highest Pitches)
      
      ÃƒÂ©lastique 2.2.8 Efficient:
          458752 - Normal
          458753 - Mid/Side
          458754 - Synchronized: Normal
          458755 - Synchronized: Mid/Side
      
      ÃƒÂ©lastique 2.2.8 Soloist:
          524288 - Monophonic
          524289 - Monophonic [Mid/Side]
          524290 - Speech
          524291 - Speech [Mid/Side]
      
      ÃƒÂ©lastique 3.3.0 Pro:
          589824 - Normal
          589825 - Preserve Formants (Lowest Pitches)
          589826 - Preserve Formants (Lower Pitches)
          589827 - Preserve Formants (Low Pitches)
          589828 - Preserve Formants (Most Pitches)
          589829 - Preserve Formants (High Pitches)
          589830 - Preserve Formants (Higher Pitches)
          589831 - Preserve Formants (Highest Pitches)
          589832 - Mid/Side
          589833 - Mid/Side, Preserve Formants (Lowest Pitches)
          589834 - Mid/Side, Preserve Formants (Lower Pitches)
          589835 - Mid/Side, Preserve Formants (Low Pitches)
          589836 - Mid/Side, Preserve Formants (Most Pitches)
          589837 - Mid/Side, Preserve Formants (High Pitches)
          589838 - Mid/Side, Preserve Formants (Higher Pitches)
          589839 - Mid/Side, Preserve Formants (Highest Pitches)
          589840 - Synchronized: Normal
          589841 - Synchronized: Preserve Formants (Lowest Pitches)
          589842 - Synchronized: Preserve Formants (Lower Pitches)
          589843 - Synchronized: Preserve Formants (Low Pitches)
          589844 - Synchronized: Preserve Formants (Most Pitches)
          589845 - Synchronized: Preserve Formants (High Pitches)
          589846 - Synchronized: Preserve Formants (Higher Pitches)
          589847 - Synchronized: Preserve Formants (Highest Pitches)
          589848 - Synchronized:  Mid/Side
          589849 - Synchronized:  Mid/Side, Preserve Formants (Lowest Pitches)
          589850 - Synchronized:  Mid/Side, Preserve Formants (Lower Pitches)
          589851 - Synchronized:  Mid/Side, Preserve Formants (Low Pitches)
          589852 - Synchronized:  Mid/Side, Preserve Formants (Most Pitches)
          589853 - Synchronized:  Mid/Side, Preserve Formants (High Pitches)
          589854 - Synchronized:  Mid/Side, Preserve Formants (Higher Pitches)
          589855 - Synchronized:  Mid/Side, Preserve Formants (Highest Pitches)
      
      ÃƒÂ©lastique 3.3.0 Efficient:
          655360 - Normal
          655361 - Mid/Side
          655362 - Synchronized: Normal
          655363 - Synchronized: Mid/Side
      
      ÃƒÂ©lastique 3.3.0 Soloist:
          720896 - Monophonic
          720897 - Monophonic [Mid/Side]
          720898 - Speech
          720899 - Speech [Mid/Side]
      
      
      Rubber Band Library - Default
          851968 - nothing
      
      Rubber Band Library - Preserve Formants
          851969 - Preserve Formants
      
      Rubber Band Library - Mid/Side
          851970 - Mid/Side
      
      Rubber Band Library - Preserve Formants, Mid/Side
          851971 - Preserve Formants, Mid/Side
      
      Rubber Band Library - Independent Phase
          851972 - Independent Phase
      
      Rubber Band Library - Preserve Formants, Independent Phase
          851973 - Preserve Formants, Independent Phase
      
      Rubber Band Library - Mid/Side, Independent Phase
          851974 - Mid/Side, Independent Phase
      
      Rubber Band Library - Preserve Formants, Mid/Side, Independent Phase
          851975 - Preserve Formants, Mid/Side, Independent Phase
      
      Rubber Band Library - Time Domain Smoothing
          851976 - Time Domain Smoothing
      
      Rubber Band Library - Preserve Formants, Time Domain Smoothing
          851977 - Preserve Formants, Time Domain Smoothing
      
      Rubber Band Library - Mid/Side, Time Domain Smoothing
          851978 - Mid/Side, Time Domain Smoothing
      
      Rubber Band Library - Preserve Formants, Mid/Side, Time Domain Smoothing
          851979 - Preserve Formants, Mid/Side, Time Domain Smoothing
      
      Rubber Band Library - Independent Phase, Time Domain Smoothing
          851980 - Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Preserve Formants, Independent Phase, Time Domain Smoothing
          851981 - Preserve Formants, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Mid/Side, Independent Phase, Time Domain Smoothing
          851982 - Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
          851983 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed
          851984 - nothing
          851985 - Preserve Formants
          851986 - Mid/Side
          851987 - Preserve Formants, Mid/Side
          851988 - Independent Phase
          851989 - Preserve Formants, Independent Phase
          851990 - Mid/Side, Independent Phase
          851991 - Preserve Formants, Mid/Side, Independent Phase
          851992 - Time Domain Smoothing
          851993 - Preserve Formants, Time Domain Smoothing
          851994 - Mid/Side, Time Domain Smoothing
          851995 - Preserve Formants, Mid/Side, Time Domain Smoothing
          851996 - Independent Phase, Time Domain Smoothing
          851997 - Preserve Formants, Independent Phase, Time Domain Smoothing
          851998 - Mid/Side, Independent Phase, Time Domain Smoothing
          851999 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth
          852000 - nothing
          852001 - Preserve Formants
          852002 - Mid/Side
          852003 - Preserve Formants, Mid/Side
          852004 - Independent Phase
          852005 - Preserve Formants, Independent Phase
          852006 - Mid/Side, Independent Phase
          852007 - Preserve Formants, Mid/Side, Independent Phase
          852008 - Time Domain Smoothing
          852009 - Preserve Formants, Time Domain Smoothing
          852010 - Mid/Side, Time Domain Smoothing
          852011 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852012 - Independent Phase, Time Domain Smoothing
          852013 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852014 - Mid/Side, Independent Phase, Time Domain Smoothing
          852015 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive
          852016 - nothing
          852017 - Preserve Formants
          852018 - Mid/Side
          852019 - Preserve Formants, Mid/Side
          852020 - Independent Phase
          852021 - Preserve Formants, Independent Phase
          852022 - Mid/Side, Independent Phase
          852023 - Preserve Formants, Mid/Side, Independent Phase
          852024 - Time Domain Smoothing
          852025 - Preserve Formants, Time Domain Smoothing
          852026 - Mid/Side, Time Domain Smoothing
          852027 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852028 - Independent Phase, Time Domain Smoothing
          852029 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852030 - Mid/Side, Independent Phase, Time Domain Smoothing
          852031 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive
          852032 - nothing
          852033 - Preserve Formants
          852034 - Mid/Side
          852035 - Preserve Formants, Mid/Side
          852036 - Independent Phase
          852037 - Preserve Formants, Independent Phase
          852038 - Mid/Side, Independent Phase
          852039 - Preserve Formants, Mid/Side, Independent Phase
          852040 - Time Domain Smoothing
          852041 - Preserve Formants, Time Domain Smoothing
          852042 - Mid/Side, Time Domain Smoothing
          852043 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852044 - Independent Phase, Time Domain Smoothing
          852045 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852046 - Mid/Side, Independent Phase, Time Domain Smoothing
          852047 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive
          852048 - nothing
          852049 - Preserve Formants
          852050 - Mid/Side
          852051 - Preserve Formants, Mid/Side
          852052 - Independent Phase
          852053 - Preserve Formants, Independent Phase
          852054 - Mid/Side, Independent Phase
          852055 - Preserve Formants, Mid/Side, Independent Phase
          852056 - Time Domain Smoothing
          852057 - Preserve Formants, Time Domain Smoothing
          852058 - Mid/Side, Time Domain Smoothing
          852059 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852060 - Independent Phase, Time Domain Smoothing
          852061 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852062 - Mid/Side, Independent Phase, Time Domain Smoothing
          852063 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft
          852064 - nothing
          852065 - Preserve Formants
          852066 - Mid/Side
          852067 - Preserve Formants, Mid/Side
          852068 - Independent Phase
          852069 - Preserve Formants, Independent Phase
          852070 - Mid/Side, Independent Phase
          852071 - Preserve Formants, Mid/Side, Independent Phase
          852072 - Time Domain Smoothing
          852073 - Preserve Formants, Time Domain Smoothing
          852074 - Mid/Side, Time Domain Smoothing
          852075 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852076 - Independent Phase, Time Domain Smoothing
          852077 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852078 - Mid/Side, Independent Phase, Time Domain Smoothing
          852079 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft
          852080 - nothing
          852081 - Preserve Formants
          852082 - Mid/Side
          852083 - Preserve Formants, Mid/Side
          852084 - Independent Phase
          852085 - Preserve Formants, Independent Phase
          852086 - Mid/Side, Independent Phase
          852087 - Preserve Formants, Mid/Side, Independent Phase
          852088 - Time Domain Smoothing
          852089 - Preserve Formants, Time Domain Smoothing
          852090 - Mid/Side, Time Domain Smoothing
          852091 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852092 - Independent Phase, Time Domain Smoothing
          852093 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852094 - Mid/Side, Independent Phase, Time Domain Smoothing
          852095 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft
          852096 - nothing
          852097 - Preserve Formants
          852098 - Mid/Side
          852099 - Preserve Formants, Mid/Side
          852100 - Independent Phase
          852101 - Preserve Formants, Independent Phase
          852102 - Mid/Side, Independent Phase
          852103 - Preserve Formants, Mid/Side, Independent Phase
          852104 - Time Domain Smoothing
          852105 - Preserve Formants, Time Domain Smoothing
          852106 - Mid/Side, Time Domain Smoothing
          852107 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852108 - Independent Phase, Time Domain Smoothing
          852109 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852110 - Mid/Side, Independent Phase, Time Domain Smoothing
          852111 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Pitch Mode: HighQ
          852112 - nothing
          852113 - Preserve Formants
          852114 - Mid/Side
          852115 - Preserve Formants, Mid/Side
          852116 - Independent Phase
          852117 - Preserve Formants, Independent Phase
          852118 - Mid/Side, Independent Phase
          852119 - Preserve Formants, Mid/Side, Independent Phase
          852120 - Time Domain Smoothing
          852121 - Preserve Formants, Time Domain Smoothing
          852122 - Mid/Side, Time Domain Smoothing
          852123 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852124 - Independent Phase, Time Domain Smoothing
          852125 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852126 - Mid/Side, Independent Phase, Time Domain Smoothing
          852127 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Pitch Mode: HighQ
          852128 - nothing
          852129 - Preserve Formants
          852130 - Mid/Side
          852131 - Preserve Formants, Mid/Side
          852132 - Independent Phase
          852133 - Preserve Formants, Independent Phase
          852134 - Mid/Side, Independent Phase
          852135 - Preserve Formants, Mid/Side, Independent Phase
          852136 - Time Domain Smoothing
          852137 - Preserve Formants, Time Domain Smoothing
          852138 - Mid/Side, Time Domain Smoothing
          852139 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852140 - Independent Phase, Time Domain Smoothing
          852141 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852142 - Mid/Side, Independent Phase, Time Domain Smoothing
          852143 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Pitch Mode: HighQ
          852144 - nothing
          852145 - Preserve Formants
          852146 - Mid/Side
          852147 - Preserve Formants, Mid/Side
          852148 - Independent Phase
          852149 - Preserve Formants, Independent Phase
          852150 - Mid/Side, Independent Phase
          852151 - Preserve Formants, Mid/Side, Independent Phase
          852152 - Time Domain Smoothing
          852153 - Preserve Formants, Time Domain Smoothing
          852154 - Mid/Side, Time Domain Smoothing
          852155 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852156 - Independent Phase, Time Domain Smoothing
          852157 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852158 - Mid/Side, Independent Phase, Time Domain Smoothing
          852159 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Pitch Mode: HighQ
          852160 - nothing
          852161 - Preserve Formants
          852162 - Mid/Side
          852163 - Preserve Formants, Mid/Side
          852164 - Independent Phase
          852165 - Preserve Formants, Independent Phase
          852166 - Mid/Side, Independent Phase
          852167 - Preserve Formants, Mid/Side, Independent Phase
          852168 - Time Domain Smoothing
          852169 - Preserve Formants, Time Domain Smoothing
          852170 - Mid/Side, Time Domain Smoothing
          852171 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852172 - Independent Phase, Time Domain Smoothing
          852173 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852174 - Mid/Side, Independent Phase, Time Domain Smoothing
          852175 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: HighQ
          852176 - nothing
          852177 - Preserve Formants
          852178 - Mid/Side
          852179 - Preserve Formants, Mid/Side
          852180 - Independent Phase
          852181 - Preserve Formants, Independent Phase
          852182 - Mid/Side, Independent Phase
          852183 - Preserve Formants, Mid/Side, Independent Phase
          852184 - Time Domain Smoothing
          852185 - Preserve Formants, Time Domain Smoothing
          852186 - Mid/Side, Time Domain Smoothing
          852187 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852188 - Independent Phase, Time Domain Smoothing
          852189 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852190 - Mid/Side, Independent Phase, Time Domain Smoothing
          852191 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: HighQ
          852192 - nothing
          852193 - Preserve Formants
          852194 - Mid/Side
          852195 - Preserve Formants, Mid/Side
          852196 - Independent Phase
          852197 - Preserve Formants, Independent Phase
          852198 - Mid/Side, Independent Phase
          852199 - Preserve Formants, Mid/Side, Independent Phase
          852200 - Time Domain Smoothing
          852201 - Preserve Formants, Time Domain Smoothing
          852202 - Mid/Side, Time Domain Smoothing
          852203 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852204 - Independent Phase, Time Domain Smoothing
          852205 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852206 - Mid/Side, Independent Phase, Time Domain Smoothing
          852207 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Pitch Mode: HighQ
          852208 - nothing
          852209 - Preserve Formants
          852210 - Mid/Side
          852211 - Preserve Formants, Mid/Side
          852212 - Independent Phase
          852213 - Preserve Formants, Independent Phase
          852214 - Mid/Side, Independent Phase
          852215 - Preserve Formants, Mid/Side, Independent Phase
          852216 - Time Domain Smoothing
          852217 - Preserve Formants, Time Domain Smoothing
          852218 - Mid/Side, Time Domain Smoothing
          852219 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852220 - Independent Phase, Time Domain Smoothing
          852221 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852222 - Mid/Side, Independent Phase, Time Domain Smoothing
          852223 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: HighQ
          852224 - nothing
          852225 - Preserve Formants
          852226 - Mid/Side
          852227 - Preserve Formants, Mid/Side
          852228 - Independent Phase
          852229 - Preserve Formants, Independent Phase
          852230 - Mid/Side, Independent Phase
          852231 - Preserve Formants, Mid/Side, Independent Phase
          852232 - Time Domain Smoothing
          852233 - Preserve Formants, Time Domain Smoothing
          852234 - Mid/Side, Time Domain Smoothing
          852235 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852236 - Independent Phase, Time Domain Smoothing
          852237 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852238 - Mid/Side, Independent Phase, Time Domain Smoothing
          852239 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: HighQ
          852240 - nothing
          852241 - Preserve Formants
          852242 - Mid/Side
          852243 - Preserve Formants, Mid/Side
          852244 - Independent Phase
          852245 - Preserve Formants, Independent Phase
          852246 - Mid/Side, Independent Phase
          852247 - Preserve Formants, Mid/Side, Independent Phase
          852248 - Time Domain Smoothing
          852249 - Preserve Formants, Time Domain Smoothing
          852250 - Mid/Side, Time Domain Smoothing
          852251 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852252 - Independent Phase, Time Domain Smoothing
          852253 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852254 - Mid/Side, Independent Phase, Time Domain Smoothing
          852255 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Pitch Mode: Consistent
          852256 - nothing
          852257 - Preserve Formants
          852258 - Mid/Side
          852259 - Preserve Formants, Mid/Side
          852260 - Independent Phase
          852261 - Preserve Formants, Independent Phase
          852262 - Mid/Side, Independent Phase
          852263 - Preserve Formants, Mid/Side, Independent Phase
          852264 - Time Domain Smoothing
          852265 - Preserve Formants, Time Domain Smoothing
          852266 - Mid/Side, Time Domain Smoothing
          852267 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852268 - Independent Phase, Time Domain Smoothing
          852269 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852270 - Mid/Side, Independent Phase, Time Domain Smoothing
          852271 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Pitch Mode: Consistent
          852272 - nothing
          852273 - Preserve Formants
          852274 - Mid/Side
          852275 - Preserve Formants, Mid/Side
          852276 - Independent Phase
          852277 - Preserve Formants, Independent Phase
          852278 - Mid/Side, Independent Phase
          852279 - Preserve Formants, Mid/Side, Independent Phase
          852280 - Time Domain Smoothing
          852281 - Preserve Formants, Time Domain Smoothing
          852282 - Mid/Side, Time Domain Smoothing
          852283 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852284 - Independent Phase, Time Domain Smoothing
          852285 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852286 - Mid/Side, Independent Phase, Time Domain Smoothing
          852287 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Pitch Mode: Consistent
          852288 - nothing
          852289 - Preserve Formants
          852290 - Mid/Side
          852291 - Preserve Formants, Mid/Side
          852292 - Independent Phase
          852293 - Preserve Formants, Independent Phase
          852294 - Mid/Side, Independent Phase
          852295 - Preserve Formants, Mid/Side, Independent Phase
          852296 - Time Domain Smoothing
          852297 - Preserve Formants, Time Domain Smoothing
          852298 - Mid/Side, Time Domain Smoothing
          852299 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852300 - Independent Phase, Time Domain Smoothing
          852301 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852302 - Mid/Side, Independent Phase, Time Domain Smoothing
          852303 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Pitch Mode: Consistent
          852304 - nothing
          852305 - Preserve Formants
          852306 - Mid/Side
          852307 - Preserve Formants, Mid/Side
          852308 - Independent Phase
          852309 - Preserve Formants, Independent Phase
          852310 - Mid/Side, Independent Phase
          852311 - Preserve Formants, Mid/Side, Independent Phase
          852312 - Time Domain Smoothing
          852313 - Preserve Formants, Time Domain Smoothing
          852314 - Mid/Side, Time Domain Smoothing
          852315 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852316 - Independent Phase, Time Domain Smoothing
          852317 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852318 - Mid/Side, Independent Phase, Time Domain Smoothing
          852319 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: Consistent
          852320 - nothing
          852321 - Preserve Formants
          852322 - Mid/Side
          852323 - Preserve Formants, Mid/Side
          852324 - Independent Phase
          852325 - Preserve Formants, Independent Phase
          852326 - Mid/Side, Independent Phase
          852327 - Preserve Formants, Mid/Side, Independent Phase
          852328 - Time Domain Smoothing
          852329 - Preserve Formants, Time Domain Smoothing
          852330 - Mid/Side, Time Domain Smoothing
          852331 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852332 - Independent Phase, Time Domain Smoothing
          852333 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852334 - Mid/Side, Independent Phase, Time Domain Smoothing
          852335 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: Consistent
          852336 - nothing
          852337 - Preserve Formants
          852338 - Mid/Side
          852339 - Preserve Formants, Mid/Side
          852340 - Independent Phase
          852341 - Preserve Formants, Independent Phase
          852342 - Mid/Side, Independent Phase
          852343 - Preserve Formants, Mid/Side, Independent Phase
          852344 - Time Domain Smoothing
          852345 - Preserve Formants, Time Domain Smoothing
          852346 - Mid/Side, Time Domain Smoothing
          852347 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852348 - Independent Phase, Time Domain Smoothing
          852349 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852350 - Mid/Side, Independent Phase, Time Domain Smoothing
          852351 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Pitch Mode: Consistent
          852352 - nothing
          852353 - Preserve Formants
          852354 - Mid/Side
          852355 - Preserve Formants, Mid/Side
          852356 - Independent Phase
          852357 - Preserve Formants, Independent Phase
          852358 - Mid/Side, Independent Phase
          852359 - Preserve Formants, Mid/Side, Independent Phase
          852360 - Time Domain Smoothing
          852361 - Preserve Formants, Time Domain Smoothing
          852362 - Mid/Side, Time Domain Smoothing
          852363 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852364 - Independent Phase, Time Domain Smoothing
          852365 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852366 - Mid/Side, Independent Phase, Time Domain Smoothing
          852367 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: Consistent
          852368 - nothing
          852369 - Preserve Formants
          852370 - Mid/Side
          852371 - Preserve Formants, Mid/Side
          852372 - Independent Phase
          852373 - Preserve Formants, Independent Phase
          852374 - Mid/Side, Independent Phase
          852375 - Preserve Formants, Mid/Side, Independent Phase
          852376 - Time Domain Smoothing
          852377 - Preserve Formants, Time Domain Smoothing
          852378 - Mid/Side, Time Domain Smoothing
          852379 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852380 - Independent Phase, Time Domain Smoothing
          852381 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852382 - Mid/Side, Independent Phase, Time Domain Smoothing
          852383 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: Consistent
          852384 - nothing
          852385 - Preserve Formants
          852386 - Mid/Side
          852387 - Preserve Formants, Mid/Side
          852388 - Independent Phase
          852389 - Preserve Formants, Independent Phase
          852390 - Mid/Side, Independent Phase
          852391 - Preserve Formants, Mid/Side, Independent Phase
          852392 - Time Domain Smoothing
          852393 - Preserve Formants, Time Domain Smoothing
          852394 - Mid/Side, Time Domain Smoothing
          852395 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852396 - Independent Phase, Time Domain Smoothing
          852397 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852398 - Mid/Side, Independent Phase, Time Domain Smoothing
          852399 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Window: Short
          852400 - nothing
          852401 - Preserve Formants
          852402 - Mid/Side
          852403 - Preserve Formants, Mid/Side
          852404 - Independent Phase
          852405 - Preserve Formants, Independent Phase
          852406 - Mid/Side, Independent Phase
          852407 - Preserve Formants, Mid/Side, Independent Phase
          852408 - Time Domain Smoothing
          852409 - Preserve Formants, Time Domain Smoothing
          852410 - Mid/Side, Time Domain Smoothing
          852411 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852412 - Independent Phase, Time Domain Smoothing
          852413 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852414 - Mid/Side, Independent Phase, Time Domain Smoothing
          852415 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Window: Short
          852416 - nothing
          852417 - Preserve Formants
          852418 - Mid/Side
          852419 - Preserve Formants, Mid/Side
          852420 - Independent Phase
          852421 - Preserve Formants, Independent Phase
          852422 - Mid/Side, Independent Phase
          852423 - Preserve Formants, Mid/Side, Independent Phase
          852424 - Time Domain Smoothing
          852425 - Preserve Formants, Time Domain Smoothing
          852426 - Mid/Side, Time Domain Smoothing
          852427 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852428 - Independent Phase, Time Domain Smoothing
          852429 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852430 - Mid/Side, Independent Phase, Time Domain Smoothing
          852431 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Window: Short
          852432 - nothing
          852433 - Preserve Formants
          852434 - Mid/Side
          852435 - Preserve Formants, Mid/Side
          852436 - Independent Phase
          852437 - Preserve Formants, Independent Phase
          852438 - Mid/Side, Independent Phase
          852439 - Preserve Formants, Mid/Side, Independent Phase
          852440 - Time Domain Smoothing
          852441 - Preserve Formants, Time Domain Smoothing
          852442 - Mid/Side, Time Domain Smoothing
          852443 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852444 - Independent Phase, Time Domain Smoothing
          852445 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852446 - Mid/Side, Independent Phase, Time Domain Smoothing
          852447 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Window: Short
          852448 - nothing
          852449 - Preserve Formants
          852450 - Mid/Side
          852451 - Preserve Formants, Mid/Side
          852452 - Independent Phase
          852453 - Preserve Formants, Independent Phase
          852454 - Mid/Side, Independent Phase
          852455 - Preserve Formants, Mid/Side, Independent Phase
          852456 - Time Domain Smoothing
          852457 - Preserve Formants, Time Domain Smoothing
          852458 - Mid/Side, Time Domain Smoothing
          852459 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852460 - Independent Phase, Time Domain Smoothing
          852461 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852462 - Mid/Side, Independent Phase, Time Domain Smoothing
          852463 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Window: Short
          852464 - nothing
          852465 - Preserve Formants
          852466 - Mid/Side
          852467 - Preserve Formants, Mid/Side
          852468 - Independent Phase
          852469 - Preserve Formants, Independent Phase
          852470 - Mid/Side, Independent Phase
          852471 - Preserve Formants, Mid/Side, Independent Phase
          852472 - Time Domain Smoothing
          852473 - Preserve Formants, Time Domain Smoothing
          852474 - Mid/Side, Time Domain Smoothing
          852475 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852476 - Independent Phase, Time Domain Smoothing
          852477 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852478 - Mid/Side, Independent Phase, Time Domain Smoothing
          852479 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Window: Short
          852480 - nothing
          852481 - Preserve Formants
          852482 - Mid/Side
          852483 - Preserve Formants, Mid/Side
          852484 - Independent Phase
          852485 - Preserve Formants, Independent Phase
          852486 - Mid/Side, Independent Phase
          852487 - Preserve Formants, Mid/Side, Independent Phase
          852488 - Time Domain Smoothing
          852489 - Preserve Formants, Time Domain Smoothing
          852490 - Mid/Side, Time Domain Smoothing
          852491 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852492 - Independent Phase, Time Domain Smoothing
          852493 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852494 - Mid/Side, Independent Phase, Time Domain Smoothing
          852495 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Window: Short
          852496 - nothing
          852497 - Preserve Formants
          852498 - Mid/Side
          852499 - Preserve Formants, Mid/Side
          852500 - Independent Phase
          852501 - Preserve Formants, Independent Phase
          852502 - Mid/Side, Independent Phase
          852503 - Preserve Formants, Mid/Side, Independent Phase
          852504 - Time Domain Smoothing
          852505 - Preserve Formants, Time Domain Smoothing
          852506 - Mid/Side, Time Domain Smoothing
          852507 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852508 - Independent Phase, Time Domain Smoothing
          852509 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852510 - Mid/Side, Independent Phase, Time Domain Smoothing
          852511 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Window: Short
          852512 - nothing
          852513 - Preserve Formants
          852514 - Mid/Side
          852515 - Preserve Formants, Mid/Side
          852516 - Independent Phase
          852517 - Preserve Formants, Independent Phase
          852518 - Mid/Side, Independent Phase
          852519 - Preserve Formants, Mid/Side, Independent Phase
          852520 - Time Domain Smoothing
          852521 - Preserve Formants, Time Domain Smoothing
          852522 - Mid/Side, Time Domain Smoothing
          852523 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852524 - Independent Phase, Time Domain Smoothing
          852525 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852526 - Mid/Side, Independent Phase, Time Domain Smoothing
          852527 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Window: Short
          852528 - nothing
          852529 - Preserve Formants
          852530 - Mid/Side
          852531 - Preserve Formants, Mid/Side
          852532 - Independent Phase
          852533 - Preserve Formants, Independent Phase
          852534 - Mid/Side, Independent Phase
          852535 - Preserve Formants, Mid/Side, Independent Phase
          852536 - Time Domain Smoothing
          852537 - Preserve Formants, Time Domain Smoothing
          852538 - Mid/Side, Time Domain Smoothing
          852539 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852540 - Independent Phase, Time Domain Smoothing
          852541 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852542 - Mid/Side, Independent Phase, Time Domain Smoothing
          852543 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Pitch Mode: HighQ, Window: Short
          852544 - nothing
          852545 - Preserve Formants
          852546 - Mid/Side
          852547 - Preserve Formants, Mid/Side
          852548 - Independent Phase
          852549 - Preserve Formants, Independent Phase
          852550 - Mid/Side, Independent Phase
          852551 - Preserve Formants, Mid/Side, Independent Phase
          852552 - Time Domain Smoothing
          852553 - Preserve Formants, Time Domain Smoothing
          852554 - Mid/Side, Time Domain Smoothing
          852555 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852556 - Independent Phase, Time Domain Smoothing
          852557 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852558 - Mid/Side, Independent Phase, Time Domain Smoothing
          852559 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Pitch Mode: HighQ, Window: Short
          852560 - nothing
          852561 - Preserve Formants
          852562 - Mid/Side
          852563 - Preserve Formants, Mid/Side
          852564 - Independent Phase
          852565 - Preserve Formants, Independent Phase
          852566 - Mid/Side, Independent Phase
          852567 - Preserve Formants, Mid/Side, Independent Phase
          852568 - Time Domain Smoothing
          852569 - Preserve Formants, Time Domain Smoothing
          852570 - Mid/Side, Time Domain Smoothing
          852571 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852572 - Independent Phase, Time Domain Smoothing
          852573 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852574 - Mid/Side, Independent Phase, Time Domain Smoothing
          852575 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Pitch Mode: HighQ, Window: Short
          852576 - nothing
          852577 - Preserve Formants
          852578 - Mid/Side
          852579 - Preserve Formants, Mid/Side
          852580 - Independent Phase
          852581 - Preserve Formants, Independent Phase
          852582 - Mid/Side, Independent Phase
          852583 - Preserve Formants, Mid/Side, Independent Phase
          852584 - Time Domain Smoothing
          852585 - Preserve Formants, Time Domain Smoothing
          852586 - Mid/Side, Time Domain Smoothing
          852587 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852588 - Independent Phase, Time Domain Smoothing
          852589 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852590 - Mid/Side, Independent Phase, Time Domain Smoothing
          852591 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Pitch Mode: HighQ, Window: Short
          852592 - nothing
          852593 - Preserve Formants
          852594 - Mid/Side
          852595 - Preserve Formants, Mid/Side
          852596 - Independent Phase
          852597 - Preserve Formants, Independent Phase
          852598 - Mid/Side, Independent Phase
          852599 - Preserve Formants, Mid/Side, Independent Phase
          852600 - Time Domain Smoothing
          852601 - Preserve Formants, Time Domain Smoothing
          852602 - Mid/Side, Time Domain Smoothing
          852603 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852604 - Independent Phase, Time Domain Smoothing
          852605 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852606 - Mid/Side, Independent Phase, Time Domain Smoothing
          852607 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: HighQ, Window: Short
          852608 - nothing
          852609 - Preserve Formants
          852610 - Mid/Side
          852611 - Preserve Formants, Mid/Side
          852612 - Independent Phase
          852613 - Preserve Formants, Independent Phase
          852614 - Mid/Side, Independent Phase
          852615 - Preserve Formants, Mid/Side, Independent Phase
          852616 - Time Domain Smoothing
          852617 - Preserve Formants, Time Domain Smoothing
          852618 - Mid/Side, Time Domain Smoothing
          852619 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852620 - Independent Phase, Time Domain Smoothing
          852621 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852622 - Mid/Side, Independent Phase, Time Domain Smoothing
          852623 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: HighQ, Window: Short
          852624 - nothing
          852625 - Preserve Formants
          852626 - Mid/Side
          852627 - Preserve Formants, Mid/Side
          852628 - Independent Phase
          852629 - Preserve Formants, Independent Phase
          852630 - Mid/Side, Independent Phase
          852631 - Preserve Formants, Mid/Side, Independent Phase
          852632 - Time Domain Smoothing
          852633 - Preserve Formants, Time Domain Smoothing
          852634 - Mid/Side, Time Domain Smoothing
          852635 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852636 - Independent Phase, Time Domain Smoothing
          852637 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852638 - Mid/Side, Independent Phase, Time Domain Smoothing
          852639 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Pitch Mode: HighQ, Window: Short
          852640 - nothing
          852641 - Preserve Formants
          852642 - Mid/Side
          852643 - Preserve Formants, Mid/Side
          852644 - Independent Phase
          852645 - Preserve Formants, Independent Phase
          852646 - Mid/Side, Independent Phase
          852647 - Preserve Formants, Mid/Side, Independent Phase
          852648 - Time Domain Smoothing
          852649 - Preserve Formants, Time Domain Smoothing
          852650 - Mid/Side, Time Domain Smoothing
          852651 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852652 - Independent Phase, Time Domain Smoothing
          852653 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852654 - Mid/Side, Independent Phase, Time Domain Smoothing
          852655 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: HighQ, Window: Short
          852656 - nothing
          852657 - Preserve Formants
          852658 - Mid/Side
          852659 - Preserve Formants, Mid/Side
          852660 - Independent Phase
          852661 - Preserve Formants, Independent Phase
          852662 - Mid/Side, Independent Phase
          852663 - Preserve Formants, Mid/Side, Independent Phase
          852664 - Time Domain Smoothing
          852665 - Preserve Formants, Time Domain Smoothing
          852666 - Mid/Side, Time Domain Smoothing
          852667 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852668 - Independent Phase, Time Domain Smoothing
          852669 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852670 - Mid/Side, Independent Phase, Time Domain Smoothing
          852671 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: HighQ, Window: Short
          852672 - nothing
          852673 - Preserve Formants
          852674 - Mid/Side
          852675 - Preserve Formants, Mid/Side
          852676 - Independent Phase
          852677 - Preserve Formants, Independent Phase
          852678 - Mid/Side, Independent Phase
          852679 - Preserve Formants, Mid/Side, Independent Phase
          852680 - Time Domain Smoothing
          852681 - Preserve Formants, Time Domain Smoothing
          852682 - Mid/Side, Time Domain Smoothing
          852683 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852684 - Independent Phase, Time Domain Smoothing
          852685 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852686 - Mid/Side, Independent Phase, Time Domain Smoothing
          852687 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Pitch Mode: Consistent, Window: Short
          852688 - nothing
          852689 - Preserve Formants
          852690 - Mid/Side
          852691 - Preserve Formants, Mid/Side
          852692 - Independent Phase
          852693 - Preserve Formants, Independent Phase
          852694 - Mid/Side, Independent Phase
          852695 - Preserve Formants, Mid/Side, Independent Phase
          852696 - Time Domain Smoothing
          852697 - Preserve Formants, Time Domain Smoothing
          852698 - Mid/Side, Time Domain Smoothing
          852699 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852700 - Independent Phase, Time Domain Smoothing
          852701 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852702 - Mid/Side, Independent Phase, Time Domain Smoothing
          852703 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Pitch Mode: Consistent, Window: Short
          852704 - nothing
          852705 - Preserve Formants
          852706 - Mid/Side
          852707 - Preserve Formants, Mid/Side
          852708 - Independent Phase
          852709 - Preserve Formants, Independent Phase
          852710 - Mid/Side, Independent Phase
          852711 - Preserve Formants, Mid/Side, Independent Phase
          852712 - Time Domain Smoothing
          852713 - Preserve Formants, Time Domain Smoothing
          852714 - Mid/Side, Time Domain Smoothing
          852715 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852716 - Independent Phase, Time Domain Smoothing
          852717 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852718 - Mid/Side, Independent Phase, Time Domain Smoothing
          852719 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Pitch Mode: Consistent, Window: Short
          852720 - nothing
          852721 - Preserve Formants
          852722 - Mid/Side
          852723 - Preserve Formants, Mid/Side
          852724 - Independent Phase
          852725 - Preserve Formants, Independent Phase
          852726 - Mid/Side, Independent Phase
          852727 - Preserve Formants, Mid/Side, Independent Phase
          852728 - Time Domain Smoothing
          852729 - Preserve Formants, Time Domain Smoothing
          852730 - Mid/Side, Time Domain Smoothing
          852731 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852732 - Independent Phase, Time Domain Smoothing
          852733 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852734 - Mid/Side, Independent Phase, Time Domain Smoothing
          852735 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Pitch Mode: Consistent, Window: Short
          852736 - nothing
          852737 - Preserve Formants
          852738 - Mid/Side
          852739 - Preserve Formants, Mid/Side
          852740 - Independent Phase
          852741 - Preserve Formants, Independent Phase
          852742 - Mid/Side, Independent Phase
          852743 - Preserve Formants, Mid/Side, Independent Phase
          852744 - Time Domain Smoothing
          852745 - Preserve Formants, Time Domain Smoothing
          852746 - Mid/Side, Time Domain Smoothing
          852747 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852748 - Independent Phase, Time Domain Smoothing
          852749 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852750 - Mid/Side, Independent Phase, Time Domain Smoothing
          852751 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: Consistent, Window: Short
          852752 - nothing
          852753 - Preserve Formants
          852754 - Mid/Side
          852755 - Preserve Formants, Mid/Side
          852756 - Independent Phase
          852757 - Preserve Formants, Independent Phase
          852758 - Mid/Side, Independent Phase
          852759 - Preserve Formants, Mid/Side, Independent Phase
          852760 - Time Domain Smoothing
          852761 - Preserve Formants, Time Domain Smoothing
          852762 - Mid/Side, Time Domain Smoothing
          852763 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852764 - Independent Phase, Time Domain Smoothing
          852765 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852766 - Mid/Side, Independent Phase, Time Domain Smoothing
          852767 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: Consistent, Window: Short
          852768 - nothing
          852769 - Preserve Formants
          852770 - Mid/Side
          852771 - Preserve Formants, Mid/Side
          852772 - Independent Phase
          852773 - Preserve Formants, Independent Phase
          852774 - Mid/Side, Independent Phase
          852775 - Preserve Formants, Mid/Side, Independent Phase
          852776 - Time Domain Smoothing
          852777 - Preserve Formants, Time Domain Smoothing
          852778 - Mid/Side, Time Domain Smoothing
          852779 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852780 - Independent Phase, Time Domain Smoothing
          852781 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852782 - Mid/Side, Independent Phase, Time Domain Smoothing
          852783 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Pitch Mode: Consistent, Window: Short
          852784 - nothing
          852785 - Preserve Formants
          852786 - Mid/Side
          852787 - Preserve Formants, Mid/Side
          852788 - Independent Phase
          852789 - Preserve Formants, Independent Phase
          852790 - Mid/Side, Independent Phase
          852791 - Preserve Formants, Mid/Side, Independent Phase
          852792 - Time Domain Smoothing
          852793 - Preserve Formants, Time Domain Smoothing
          852794 - Mid/Side, Time Domain Smoothing
          852795 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852796 - Independent Phase, Time Domain Smoothing
          852797 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852798 - Mid/Side, Independent Phase, Time Domain Smoothing
          852799 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: Consistent, Window: Short
          852800 - nothing
          852801 - Preserve Formants
          852802 - Mid/Side
          852803 - Preserve Formants, Mid/Side
          852804 - Independent Phase
          852805 - Preserve Formants, Independent Phase
          852806 - Mid/Side, Independent Phase
          852807 - Preserve Formants, Mid/Side, Independent Phase
          852808 - Time Domain Smoothing
          852809 - Preserve Formants, Time Domain Smoothing
          852810 - Mid/Side, Time Domain Smoothing
          852811 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852812 - Independent Phase, Time Domain Smoothing
          852813 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852814 - Mid/Side, Independent Phase, Time Domain Smoothing
          852815 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: Consistent, Window: Short
          852816 - nothing
          852817 - Preserve Formants
          852818 - Mid/Side
          852819 - Preserve Formants, Mid/Side
          852820 - Independent Phase
          852821 - Preserve Formants, Independent Phase
          852822 - Mid/Side, Independent Phase
          852823 - Preserve Formants, Mid/Side, Independent Phase
          852824 - Time Domain Smoothing
          852825 - Preserve Formants, Time Domain Smoothing
          852826 - Mid/Side, Time Domain Smoothing
          852827 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852828 - Independent Phase, Time Domain Smoothing
          852829 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852830 - Mid/Side, Independent Phase, Time Domain Smoothing
          852831 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Window: Long
          852832 - nothing
          852833 - Preserve Formants
          852834 - Mid/Side
          852835 - Preserve Formants, Mid/Side
          852836 - Independent Phase
          852837 - Preserve Formants, Independent Phase
          852838 - Mid/Side, Independent Phase
          852839 - Preserve Formants, Mid/Side, Independent Phase
          852840 - Time Domain Smoothing
          852841 - Preserve Formants, Time Domain Smoothing
          852842 - Mid/Side, Time Domain Smoothing
          852843 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852844 - Independent Phase, Time Domain Smoothing
          852845 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852846 - Mid/Side, Independent Phase, Time Domain Smoothing
          852847 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Window: Long
          852848 - nothing
          852849 - Preserve Formants
          852850 - Mid/Side
          852851 - Preserve Formants, Mid/Side
          852852 - Independent Phase
          852853 - Preserve Formants, Independent Phase
          852854 - Mid/Side, Independent Phase
          852855 - Preserve Formants, Mid/Side, Independent Phase
          852856 - Time Domain Smoothing
          852857 - Preserve Formants, Time Domain Smoothing
          852858 - Mid/Side, Time Domain Smoothing
          852859 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852860 - Independent Phase, Time Domain Smoothing
          852861 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852862 - Mid/Side, Independent Phase, Time Domain Smoothing
          852863 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Window: Long
          852864 - nothing
          852865 - Preserve Formants
          852866 - Mid/Side
          852867 - Preserve Formants, Mid/Side
          852868 - Independent Phase
          852869 - Preserve Formants, Independent Phase
          852870 - Mid/Side, Independent Phase
          852871 - Preserve Formants, Mid/Side, Independent Phase
          852872 - Time Domain Smoothing
          852873 - Preserve Formants, Time Domain Smoothing
          852874 - Mid/Side, Time Domain Smoothing
          852875 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852876 - Independent Phase, Time Domain Smoothing
          852877 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852878 - Mid/Side, Independent Phase, Time Domain Smoothing
          852879 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Window: Long
          852880 - nothing
          852881 - Preserve Formants
          852882 - Mid/Side
          852883 - Preserve Formants, Mid/Side
          852884 - Independent Phase
          852885 - Preserve Formants, Independent Phase
          852886 - Mid/Side, Independent Phase
          852887 - Preserve Formants, Mid/Side, Independent Phase
          852888 - Time Domain Smoothing
          852889 - Preserve Formants, Time Domain Smoothing
          852890 - Mid/Side, Time Domain Smoothing
          852891 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852892 - Independent Phase, Time Domain Smoothing
          852893 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852894 - Mid/Side, Independent Phase, Time Domain Smoothing
          852895 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Window: Long
          852896 - nothing
          852897 - Preserve Formants
          852898 - Mid/Side
          852899 - Preserve Formants, Mid/Side
          852900 - Independent Phase
          852901 - Preserve Formants, Independent Phase
          852902 - Mid/Side, Independent Phase
          852903 - Preserve Formants, Mid/Side, Independent Phase
          852904 - Time Domain Smoothing
          852905 - Preserve Formants, Time Domain Smoothing
          852906 - Mid/Side, Time Domain Smoothing
          852907 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852908 - Independent Phase, Time Domain Smoothing
          852909 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852910 - Mid/Side, Independent Phase, Time Domain Smoothing
          852911 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Window: Long
          852912 - nothing
          852913 - Preserve Formants
          852914 - Mid/Side
          852915 - Preserve Formants, Mid/Side
          852916 - Independent Phase
          852917 - Preserve Formants, Independent Phase
          852918 - Mid/Side, Independent Phase
          852919 - Preserve Formants, Mid/Side, Independent Phase
          852920 - Time Domain Smoothing
          852921 - Preserve Formants, Time Domain Smoothing
          852922 - Mid/Side, Time Domain Smoothing
          852923 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852924 - Independent Phase, Time Domain Smoothing
          852925 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852926 - Mid/Side, Independent Phase, Time Domain Smoothing
          852927 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Window: Long
          852928 - nothing
          852929 - Preserve Formants
          852930 - Mid/Side
          852931 - Preserve Formants, Mid/Side
          852932 - Independent Phase
          852933 - Preserve Formants, Independent Phase
          852934 - Mid/Side, Independent Phase
          852935 - Preserve Formants, Mid/Side, Independent Phase
          852936 - Time Domain Smoothing
          852937 - Preserve Formants, Time Domain Smoothing
          852938 - Mid/Side, Time Domain Smoothing
          852939 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852940 - Independent Phase, Time Domain Smoothing
          852941 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852942 - Mid/Side, Independent Phase, Time Domain Smoothing
          852943 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Window: Long
          852944 - nothing
          852945 - Preserve Formants
          852946 - Mid/Side
          852947 - Preserve Formants, Mid/Side
          852948 - Independent Phase
          852949 - Preserve Formants, Independent Phase
          852950 - Mid/Side, Independent Phase
          852951 - Preserve Formants, Mid/Side, Independent Phase
          852952 - Time Domain Smoothing
          852953 - Preserve Formants, Time Domain Smoothing
          852954 - Mid/Side, Time Domain Smoothing
          852955 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852956 - Independent Phase, Time Domain Smoothing
          852957 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852958 - Mid/Side, Independent Phase, Time Domain Smoothing
          852959 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Window: Long
          852960 - nothing
          852961 - Preserve Formants
          852962 - Mid/Side
          852963 - Preserve Formants, Mid/Side
          852964 - Independent Phase
          852965 - Preserve Formants, Independent Phase
          852966 - Mid/Side, Independent Phase
          852967 - Preserve Formants, Mid/Side, Independent Phase
          852968 - Time Domain Smoothing
          852969 - Preserve Formants, Time Domain Smoothing
          852970 - Mid/Side, Time Domain Smoothing
          852971 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852972 - Independent Phase, Time Domain Smoothing
          852973 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852974 - Mid/Side, Independent Phase, Time Domain Smoothing
          852975 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Pitch Mode: HighQ, Window: Long
          852976 - nothing
          852977 - Preserve Formants
          852978 - Mid/Side
          852979 - Preserve Formants, Mid/Side
          852980 - Independent Phase
          852981 - Preserve Formants, Independent Phase
          852982 - Mid/Side, Independent Phase
          852983 - Preserve Formants, Mid/Side, Independent Phase
          852984 - Time Domain Smoothing
          852985 - Preserve Formants, Time Domain Smoothing
          852986 - Mid/Side, Time Domain Smoothing
          852987 - Preserve Formants, Mid/Side, Time Domain Smoothing
          852988 - Independent Phase, Time Domain Smoothing
          852989 - Preserve Formants, Independent Phase, Time Domain Smoothing
          852990 - Mid/Side, Independent Phase, Time Domain Smoothing
          852991 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Pitch Mode: HighQ, Window: Long
          852992 - nothing
          852993 - Preserve Formants
          852994 - Mid/Side
          852995 - Preserve Formants, Mid/Side
          852996 - Independent Phase
          852997 - Preserve Formants, Independent Phase
          852998 - Mid/Side, Independent Phase
          852999 - Preserve Formants, Mid/Side, Independent Phase
          853000 - Time Domain Smoothing
          853001 - Preserve Formants, Time Domain Smoothing
          853002 - Mid/Side, Time Domain Smoothing
          853003 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853004 - Independent Phase, Time Domain Smoothing
          853005 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853006 - Mid/Side, Independent Phase, Time Domain Smoothing
          853007 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Pitch Mode: HighQ, Window: Long
          853008 - nothing
          853009 - Preserve Formants
          853010 - Mid/Side
          853011 - Preserve Formants, Mid/Side
          853012 - Independent Phase
          853013 - Preserve Formants, Independent Phase
          853014 - Mid/Side, Independent Phase
          853015 - Preserve Formants, Mid/Side, Independent Phase
          853016 - Time Domain Smoothing
          853017 - Preserve Formants, Time Domain Smoothing
          853018 - Mid/Side, Time Domain Smoothing
          853019 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853020 - Independent Phase, Time Domain Smoothing
          853021 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853022 - Mid/Side, Independent Phase, Time Domain Smoothing
          853023 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Pitch Mode: HighQ, Window: Long
          853024 - nothing
          853025 - Preserve Formants
          853026 - Mid/Side
          853027 - Preserve Formants, Mid/Side
          853028 - Independent Phase
          853029 - Preserve Formants, Independent Phase
          853030 - Mid/Side, Independent Phase
          853031 - Preserve Formants, Mid/Side, Independent Phase
          853032 - Time Domain Smoothing
          853033 - Preserve Formants, Time Domain Smoothing
          853034 - Mid/Side, Time Domain Smoothing
          853035 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853036 - Independent Phase, Time Domain Smoothing
          853037 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853038 - Mid/Side, Independent Phase, Time Domain Smoothing
          853039 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: HighQ, Window: Long
          853040 - nothing
          853041 - Preserve Formants
          853042 - Mid/Side
          853043 - Preserve Formants, Mid/Side
          853044 - Independent Phase
          853045 - Preserve Formants, Independent Phase
          853046 - Mid/Side, Independent Phase
          853047 - Preserve Formants, Mid/Side, Independent Phase
          853048 - Time Domain Smoothing
          853049 - Preserve Formants, Time Domain Smoothing
          853050 - Mid/Side, Time Domain Smoothing
          853051 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853052 - Independent Phase, Time Domain Smoothing
          853053 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853054 - Mid/Side, Independent Phase, Time Domain Smoothing
          853055 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: HighQ, Window: Long
          853056 - nothing
          853057 - Preserve Formants
          853058 - Mid/Side
          853059 - Preserve Formants, Mid/Side
          853060 - Independent Phase
          853061 - Preserve Formants, Independent Phase
          853062 - Mid/Side, Independent Phase
          853063 - Preserve Formants, Mid/Side, Independent Phase
          853064 - Time Domain Smoothing
          853065 - Preserve Formants, Time Domain Smoothing
          853066 - Mid/Side, Time Domain Smoothing
          853067 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853068 - Independent Phase, Time Domain Smoothing
          853069 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853070 - Mid/Side, Independent Phase, Time Domain Smoothing
          853071 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Pitch Mode: HighQ, Window: Long
          853072 - nothing
          853073 - Preserve Formants
          853074 - Mid/Side
          853075 - Preserve Formants, Mid/Side
          853076 - Independent Phase
          853077 - Preserve Formants, Independent Phase
          853078 - Mid/Side, Independent Phase
          853079 - Preserve Formants, Mid/Side, Independent Phase
          853080 - Time Domain Smoothing
          853081 - Preserve Formants, Time Domain Smoothing
          853082 - Mid/Side, Time Domain Smoothing
          853083 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853084 - Independent Phase, Time Domain Smoothing
          853085 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853086 - Mid/Side, Independent Phase, Time Domain Smoothing
          853087 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: HighQ, Window: Long
          853088 - nothing
          853089 - Preserve Formants
          853090 - Mid/Side
          853091 - Preserve Formants, Mid/Side
          853092 - Independent Phase
          853093 - Preserve Formants, Independent Phase
          853094 - Mid/Side, Independent Phase
          853095 - Preserve Formants, Mid/Side, Independent Phase
          853096 - Time Domain Smoothing
          853097 - Preserve Formants, Time Domain Smoothing
          853098 - Mid/Side, Time Domain Smoothing
          853099 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853100 - Independent Phase, Time Domain Smoothing
          853101 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853102 - Mid/Side, Independent Phase, Time Domain Smoothing
          853103 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: HighQ, Window: Long
          853104 - nothing
          853105 - Preserve Formants
          853106 - Mid/Side
          853107 - Preserve Formants, Mid/Side
          853108 - Independent Phase
          853109 - Preserve Formants, Independent Phase
          853110 - Mid/Side, Independent Phase
          853111 - Preserve Formants, Mid/Side, Independent Phase
          853112 - Time Domain Smoothing
          853113 - Preserve Formants, Time Domain Smoothing
          853114 - Mid/Side, Time Domain Smoothing
          853115 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853116 - Independent Phase, Time Domain Smoothing
          853117 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853118 - Mid/Side, Independent Phase, Time Domain Smoothing
          853119 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Pitch Mode: Consistent, Window: Long
          853120 - nothing
          853121 - Preserve Formants
          853122 - Mid/Side
          853123 - Preserve Formants, Mid/Side
          853124 - Independent Phase
          853125 - Preserve Formants, Independent Phase
          853126 - Mid/Side, Independent Phase
          853127 - Preserve Formants, Mid/Side, Independent Phase
          853128 - Time Domain Smoothing
          853129 - Preserve Formants, Time Domain Smoothing
          853130 - Mid/Side, Time Domain Smoothing
          853131 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853132 - Independent Phase, Time Domain Smoothing
          853133 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853134 - Mid/Side, Independent Phase, Time Domain Smoothing
          853135 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Pitch Mode: Consistent, Window: Long
          853136 - nothing
          853137 - Preserve Formants
          853138 - Mid/Side
          853139 - Preserve Formants, Mid/Side
          853140 - Independent Phase
          853141 - Preserve Formants, Independent Phase
          853142 - Mid/Side, Independent Phase
          853143 - Preserve Formants, Mid/Side, Independent Phase
          853144 - Time Domain Smoothing
          853145 - Preserve Formants, Time Domain Smoothing
          853146 - Mid/Side, Time Domain Smoothing
          853147 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853148 - Independent Phase, Time Domain Smoothing
          853149 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853150 - Mid/Side, Independent Phase, Time Domain Smoothing
          853151 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Pitch Mode: Consistent, Window: Long
          853152 - nothing
          853153 - Preserve Formants
          853154 - Mid/Side
          853155 - Preserve Formants, Mid/Side
          853156 - Independent Phase
          853157 - Preserve Formants, Independent Phase
          853158 - Mid/Side, Independent Phase
          853159 - Preserve Formants, Mid/Side, Independent Phase
          853160 - Time Domain Smoothing
          853161 - Preserve Formants, Time Domain Smoothing
          853162 - Mid/Side, Time Domain Smoothing
          853163 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853164 - Independent Phase, Time Domain Smoothing
          853165 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853166 - Mid/Side, Independent Phase, Time Domain Smoothing
          853167 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Percussive, Pitch Mode: Consistent, Window: Long
          853168 - nothing
          853169 - Preserve Formants
          853170 - Mid/Side
          853171 - Preserve Formants, Mid/Side
          853172 - Independent Phase
          853173 - Preserve Formants, Independent Phase
          853174 - Mid/Side, Independent Phase
          853175 - Preserve Formants, Mid/Side, Independent Phase
          853176 - Time Domain Smoothing
          853177 - Preserve Formants, Time Domain Smoothing
          853178 - Mid/Side, Time Domain Smoothing
          853179 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853180 - Independent Phase, Time Domain Smoothing
          853181 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853182 - Mid/Side, Independent Phase, Time Domain Smoothing
          853183 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Percussive, Pitch Mode: Consistent, Window: Long
          853184 - nothing
          853185 - Preserve Formants
          853186 - Mid/Side
          853187 - Preserve Formants, Mid/Side
          853188 - Independent Phase
          853189 - Preserve Formants, Independent Phase
          853190 - Mid/Side, Independent Phase
          853191 - Preserve Formants, Mid/Side, Independent Phase
          853192 - Time Domain Smoothing
          853193 - Preserve Formants, Time Domain Smoothing
          853194 - Mid/Side, Time Domain Smoothing
          853195 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853196 - Independent Phase, Time Domain Smoothing
          853197 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853198 - Mid/Side, Independent Phase, Time Domain Smoothing
          853199 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Percussive, Pitch Mode: Consistent, Window: Long
          853200 - nothing
          853201 - Preserve Formants
          853202 - Mid/Side
          853203 - Preserve Formants, Mid/Side
          853204 - Independent Phase
          853205 - Preserve Formants, Independent Phase
          853206 - Mid/Side, Independent Phase
          853207 - Preserve Formants, Mid/Side, Independent Phase
          853208 - Time Domain Smoothing
          853209 - Preserve Formants, Time Domain Smoothing
          853210 - Mid/Side, Time Domain Smoothing
          853211 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853212 - Independent Phase, Time Domain Smoothing
          853213 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853214 - Mid/Side, Independent Phase, Time Domain Smoothing
          853215 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Detector: Soft, Pitch Mode: Consistent, Window: Long
          853216 - nothing
          853217 - Preserve Formants
          853218 - Mid/Side
          853219 - Preserve Formants, Mid/Side
          853220 - Independent Phase
          853221 - Preserve Formants, Independent Phase
          853222 - Mid/Side, Independent Phase
          853223 - Preserve Formants, Mid/Side, Independent Phase
          853224 - Time Domain Smoothing
          853225 - Preserve Formants, Time Domain Smoothing
          853226 - Mid/Side, Time Domain Smoothing
          853227 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853228 - Independent Phase, Time Domain Smoothing
          853229 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853230 - Mid/Side, Independent Phase, Time Domain Smoothing
          853231 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Mixed, Detector: Soft, Pitch Mode: Consistent, Window: Long
          853232 - nothing
          853233 - Preserve Formants
          853234 - Mid/Side
          853235 - Preserve Formants, Mid/Side
          853236 - Independent Phase
          853237 - Preserve Formants, Independent Phase
          853238 - Mid/Side, Independent Phase
          853239 - Preserve Formants, Mid/Side, Independent Phase
          853240 - Time Domain Smoothing
          853241 - Preserve Formants, Time Domain Smoothing
          853242 - Mid/Side, Time Domain Smoothing
          853243 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853244 - Independent Phase, Time Domain Smoothing
          853245 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853246 - Mid/Side, Independent Phase, Time Domain Smoothing
          853247 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing
      
      Rubber Band Library - Transients: Smooth, Detector: Soft, Pitch Mode: Consistent, Window: Long
          853248 - nothing
          853249 - Preserve Formants
          853250 - Mid/Side
          853251 - Preserve Formants, Mid/Side
          853252 - Independent Phase
          853253 - Preserve Formants, Independent Phase
          853254 - Mid/Side, Independent Phase
          853255 - Preserve Formants, Mid/Side, Independent Phase
          853256 - Time Domain Smoothing
          853257 - Preserve Formants, Time Domain Smoothing
          853258 - Mid/Side, Time Domain Smoothing
          853259 - Preserve Formants, Mid/Side, Time Domain Smoothing
          853260 - Independent Phase, Time Domain Smoothing
          853261 - Preserve Formants, Independent Phase, Time Domain Smoothing
          853262 - Mid/Side, Independent Phase, Time Domain Smoothing
          853263 - Preserve Formants, Mid/Side, Independent Phase, Time Domain Smoothing 
 integer stretch_marker_mode the stretch marker mode
0, Balanced
1, Tonal-optimized
2, Transient-optimized
3, No pre-echo reduction 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_TakeLane

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_TakeLane(string projectfilename_with_path, integer take_lane_state, optional string ProjectStateChunk)

Description:
Sets the take-lane-state in an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer take_lane_state take-lane-state 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_SampleRate

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_SampleRate(string projectfilename_with_path, integer sample_rate, integer project_sample_rate, integer force_tempo_time_sig, optional string ProjectStateChunk)

Description:
Sets the project-samplerate-state, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer sample_rate Project Sample Rate in Hz 
 integer project_sample_rate Checkbox: Project Sample Rate 
 integer force_tempo_time_sig Checkbox: Force Project Tempo/Time Signature changes to occur on whole samples  
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetProject_TrackMixingDepth

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_TrackMixingDepth(string projectfilename_with_path, integer mixingdepth, optional string ProjectStateChunk)

Description:
Sets the project-samplerate-state, as set in the project-settings, from an rpp-project-file or a ProjectStateChunk.
Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer mixingdepth the track mixing depth
   1 - 32 bit float
   2 - 39 bit integer
   3 - 24 bit integer
   4 - 16 bit integer
   5 - 12 bit integer
   6 - 8 bit integer 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_CountMarkersAndRegions

Functioncall:

integer number_of_markers_and_regions, integer number_of_regions_only, integer number_of_markers_only = ultraschall.GetProject_CountMarkersAndRegions(string projectfilename_with_path)

Description:
returns the number of all markers, the number of regions and the number of markers(that are not regions) in the project.

It's the entry MARKER

returns -1 in case of an error

Returnvalues:
 integer number_of_markers_and_regions the number of all markers and regions 
 integer number_of_regions_only the number of regions 
 integer number_of_markers_only the number of markers only 

Parameters:
 string projectfilename_with_path the projectfilename in which to count the markers 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_GetMarker

Functioncall:

boolean retval, integer shownnumber, number markerposition, string markertitle, integer markercolor = ultraschall.GetProject_GetMarker(string projectfilename_with_path, integer idx)

Description:
returns the information of the marker idx in a projectfile.

It's the entry MARKER

returns false in case of error

Returnvalues:
 boolean retval true, in case of success; false in case of failure 
 integer shownnumber the number that is shown with the marker in the arrange-view 
 number markerposition the position of the marker in seconds 
 string markertitle the name of the marker. "" if no name is given. 
 integer markercolor the colorvalue of the marker 

Parameters:
 string projectfilename_with_path the projectfilename from where to get the marker 
 integer idx the number of the marker, you want to have the information of 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_GetRegion

Functioncall:

boolean retval, integer shownnumber, number start_of_region, number end_of_region, string regionname, integer regioncolor = ultraschall.GetProject_GetRegion(string projectfilename_with_path, integer idx)

Description:
returns the information of the region idx in a projectfile.

It's the entry MARKER

returns false in case of error

Returnvalues:
 boolean retval true, in case of success; false in case of failure 
 integer shownnumber the number that is shown with the region in the arrange-view 
 number start_of_region the startposition of the region in seconds 
 number end_of_region the endposition of the region in seconds 
 string regionname the name of the region. "" if no name is given. 
 integer regioncolor the colorvalue of the region 

Parameters:
 string projectfilename_with_path the projectfilename from where to get the region 
 integer idx the number of the marker, you want to have the information of 


^ Reaper version 6.11Ultraschall version 4.1Lua version 5.3 ^ GetProject_MarkersAndRegions

Functioncall:

integer markerregioncount, integer NumMarker, integer Numregions, array Markertable = ultraschall.GetProject_MarkersAndRegions(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the markers and regions from an RPP-Projectfile or a ProjectStateChunk.
Doe not return TimeSignature-markers(!)
Returns nil in case of error or if no such entry exists.

Returnvalues:
 integer markerregioncount the number of markers and regions in the projectfile/ProjectStateChunk 
 array markertable an array with all elements of markers/regions
markertable has the following entries:
markertable[id][1] = boolean isrgn - true, marker is a region; false, marker is a normal marker
markertable[id][2] = number pos    - the startposition of the marker/region
markertable[id][3] = number rgnend - the endposition of a region; 0, if it's a marker
markertable[id][4] = string name   - the name of the marker/region
markertable[id][5] = integer markrgnindexnumber - the shown number of the region/marker
markertable[id][6] = integer color - the color-value of the marker
markertable[id][7] = string guid - the guid of the marker
markertable[id][8] = if a region: true, region is selected; false, region is not selected
markertable[id][9] = if a region: true, region-render-matrix Master mix is selected; false, region-render-matrix Master mix is unselected
markertable[id][10]= if a region: true, region-render-matrix All tracks is selected; false, region-render-matrix All tracks is unselected 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ IsValidReaProject

Functioncall:

boolean retval = ultraschall.IsValidReaProject(ReaProject ReaProject)

Description:
Returns, if parameter ReaProject is a valid ReaProject(means, an existing opened project) or not.

returns false in case of an error

Returnvalues:
 boolean retval true, if parameter ReaProject is a valid ReaProject; false, if parameter ReaProject isn't a valid ReaProject 

Parameters:
 ReaProject ReaProject the object that you want to check for being a valid ReaProject 


^ Reaper version 5.941Ultraschall version 4.00Lua version 5.3 ^ NewProjectTab

Functioncall:

ReaProject newproject = ultraschall.NewProjectTab(boolean switch_to_new_tab)

Description:
Opens a new projecttab and optionally switches to it. Returns the newly created ReaProject.

returns nil in case of an error

Returnvalues:
 ReaProject newproject the newly created project-object of the projecttab 

Parameters:
 boolean switch_to_new_tab true, switch to the newly created project-tab; false, stay in the "old" project-tab 


^ Reaper version 5.941Ultraschall version 4.00Lua version 5.3 ^ GetCurrentTimeLengthOfFrame

Functioncall:

number length = ultraschall.GetCurrentTimeLengthOfFrame(ReaProject ReaProject)

Description:
Returns a project's length of a frame in seconds. Depends on the fps set in the Project's settings of ReaProject.

Returns -1 in case of an error

Returnvalues:
 number length the current length of a frame of ReaProject in seconds 

Parameters:
 ReaProject ReaProject the project to check for; use nil or 0 for the current project 


^ Reaper version 5.941Ultraschall version 4.00Lua version 5.3 ^ GetLengthOfFrames

Functioncall:

number length = ultraschall.GetLengthOfFrames(integer frames, ReaProject ReaProject)

Description:
Returns the length of a number of frames of a ReaProject. Depends on the fps set in the Project's settings of ReaProject.

Returns -1 in case of an error

Returnvalues:
 number length the current length of frames of ReaProject in seconds 

Parameters:
 integer frames the number of frames, whose length you would love to know 
 ReaProject ReaProject the project to check for; use nil or 0 for the current project 


^ Reaper version 5.941Ultraschall version 4.00Lua version 5.3 ^ ConvertOldProjectToCurrentReaperVersion

Functioncall:

boolean retval = ultraschall.ConvertOldProjectToCurrentReaperVersion(string filename_with_path)

Description:
Convert an old Reaper-project to the current Reaper-version.
It creates a backup-copy of the old version of the project.rpp to project.rpp~0
After that, it will open the project and save it again, so it is saved with the newest version of Reaper.

Maybe helpful, when you want to use the Ultraschall-API Get/SetProject-State-functions on older projects, where some states were saved differently.
Just create a "new" version of it and use the aforementioned functions on the new project-version.

Returns false in case of an error.

Returnvalues:
 boolean retval true, conversion was successfull; false, conversion wasn't successful(file doesn't exist or a copy can't be created) 

Parameters:
 string filename_with_path the filename with path of the rpp-projectfile to be converted. 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_ProjectBay

Functioncall:

string ProjectBayStateChunk = ultraschall.GetProject_ProjectBay(string ProjectStateChunk, optional string ProjectStateChunk)

Description:
returns the ProjectBay-StateChunk, that holds MediaItems, that shall be retained in the "background" of the project, even if they are deleted from the project.
These MediaItems can be seen and set to retain from within the ProjectBay-window.

It's the entry <PROJBAY ... >

returns nil in case of an error

Returnvalues:
 string ProjectBayStateChunk the statechunk of the ProjectBay 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the projectbay-statechunk; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_Metronome

Functioncall:

string MetronomeStateChunk = ultraschall.GetProject_Metronome(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the Metronome-StateChunk, that holds metronome-settings.

It's the entry <METRONOME ... >

returns nil in case of an error

Returnvalues:
 string MetronomeStateChunk the statechunk of the Metronome 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the metronome-statechunk; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterPlayspeed

Functioncall:

string MasterPlayspeedStateChunk = ultraschall.GetProject_MasterPlayspeed(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the Master-Playspeed-StateChunk, that holds Playspeed-settings of the master.

It's the entry <MASTERPLAYSPEEDENV ... >

returns nil in case of an error

Returnvalues:
 string MasterPlayspeedStateChunk the statechunk of the MasterPlaySpeed 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the master-playspeed-statechunk; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_TempoEnvEx

Functioncall:

string TempoStateChunk = ultraschall.GetProject_TempoEnvEx(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the Tempo-StateChunk, that holds tempo-settings of the master.

It's the entry <TEMPOENVEX ... >

returns nil in case of an error

Returnvalues:
 string TempoStateChunk the statechunk of the Tempo 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the tempo-statechunk; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_Extensions

Functioncall:

string ExtensionsStateChunk = ultraschall.GetProject_Extensions(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the Extensions-settings-StateChunk, that holds tempo-settings of the master.

It's the entry <EXTENSIONS ... >

returns nil in case of an error

Returnvalues:
 string ExtensionsStateChunk the statechunk of the Extensions-settings 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the extension-statechunk; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_Lock

Functioncall:

integer lock_state = ultraschall.GetProject_Lock(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the individual lock-settings of the project, as set in menu Options -> Locking -> Locking Settings

It's the entry LOCK
It is the one before(!) any
It is a bitfield, containing numerous settings.

returns nil in case of an error

Returnvalues:
 integer lock_state the lock-state, which is a bitfield
&1     - Time selection
&2     - Items (full)
&4     - Track envelopes
&8     - Markers
&16    - Regions
&32    - Time signature markers
&64    - Items (prevent left/right movement)
&128   - Items (prevent up/down movement)
&256   - Item edges
&512   - Item fade/volume handles
&1024  - Loop points locked
&2048  - Item envelopes
&4096  - Item stretch markers
&16384 - Enable locking 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the lock-state; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_GlobalAuto

Functioncall:

integer globalauto_state = ultraschall.GetProject_GlobalAuto(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the global-automation-settings of the project.

It's the entry GLOBAL_AUTO

returns nil in case of an error or if the setting isn't existing

Returnvalues:
 integer globalauto_state the global automation override state, this sets the same automation mode to all tracks!
-1, No global automation override, automation-mode will be set by track
0, trim/read mode
1, read mode
2, touch mode
3, write mode
4, latch mode
5, latch preview mode
6, bypass all automation 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the global-automation-state; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_Tempo

Functioncall:

number bpm, integer beat, integer denominator = ultraschall.GetProject_Tempo(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the tempo-settings of the project, as set in the Project Settings -> Project Settings-tab

It's the entry TEMPO

returns nil in case of an error

Returnvalues:
 number bpm the tempo of the project in bpm 
 integer beat the beat of the project 
 integer denominator the denominator for the beat 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the tempo-state; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_Playrate

Functioncall:

number playrate, integer preserve_pitch, number min_playrate, number max_playrate = ultraschall.GetProject_Playrate(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the tempo-settings of the project, as set in the Project Settings -> Project Settings-tab

It's the entry PLAYRATE

returns nil in case of an error

Returnvalues:
 number playrate the currently set playrate; 0.01 to 10 
 integer preserve_pitch 0, don't preserve pitch, when changing playrate; 1, preserve pitch, when changing playrate 
 number min_playrate the minimum playrate possible in the project; 0.01 to 10 
 number max_playrate the maximum playrate possible in the project; 0.01 to 10 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the playrate-state; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterAutomode

Functioncall:

integer automode = ultraschall.GetProject_MasterAutomode(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the automation-mode of the master-track of the project, as set in the "Envelopes for Master Track"-dialog or the context-menu for the Master Track -> Set track automation mode -> ...

It's the entry MASTERAUTOMODE

returns nil in case of an error

Returnvalues:
 integer automode the automation-mode, as set in the Envelopes for Master Track
0, Trim/Read
1, Read
2, Touch
3, Write
4, Latch
5, Latch Preview 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the master-automation-mode; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterSel

Functioncall:

integer selection = ultraschall.GetProject_MasterSel(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the master-track-selection-state of the master-track of the project.

It's the entry MASTER_SEL

returns nil in case of an error

Returnvalues:
 integer selection the selection-state; 0, master-track unselected; 1, master-track selected 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the master-selection; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterFXByp

Functioncall:

integer fx_byp_state = ultraschall.GetProject_MasterFXByp(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the fx-bypass-state of the master-track of the project.

It's the entry MASTER_FX

returns nil in case of an error

Returnvalues:
 integer fx_byp_state the fx-bypass-state; 0, master-track-fx bypassed; 1, master-track-fx normal 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the master-fx-bypass-state; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterMuteSolo

Functioncall:

integer mute_solo_state = ultraschall.GetProject_MasterMuteSolo(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the mute-solo-state of the master-track of the project.
Has no exclusive-solo/mute-settings!

It's the entry MASTERMUTESOLO

returns nil in case of an error

Returnvalues:
 integer mute_solo_state the mute-solo-state; it is a bitfield
0, no mute, no solo, Mono mode L+R
&1, master-track muted
&2, master-track soloed
&4, master-track mono-button
&8, Mono mode:L
&16, Mono mode:R
add 24 for Mono mode L-R 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the master-mute-solo-state; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterNChans

Functioncall:

integer number_of_channels, integer peak_metering = ultraschall.GetProject_MasterNChans(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the number of output channels-settings and the vu-peak-metering-settings of the master-track of the project.

It's the entry MASTER_NCH

returns nil in case of an error

Returnvalues:
 integer number_of_channels the number of output-channels, as set in the "Outputs for the Master Channel -> Track Channels"-dialog 
 integer peak_metering 2, Multichannel peak metering-setting, as set in the "Master VU settings"-dialog 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the master-nchans; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterTrackHeight

Functioncall:

integer height_state, integer height_lock = ultraschall.GetProject_MasterTrackHeight(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the master-trackheight-states of the master-track of the project.

It's the entry MASTERTRACKHEIGHT

returns nil in case of an error

Returnvalues:
 integer height_state the current-height of the master-track, from 24 to 260 
 integer height_lock 0, height-lock is off; 1, height-lock is on 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the mastertrackheight-state; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterTrackColor

Functioncall:

integer color = ultraschall.GetProject_MasterTrackColor(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the master-color of the master-track of the project.

It's the entry MASTERPEAKCOL

returns nil in case of an error

Returnvalues:
 integer color the color for the master-track 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the mastertrack-color; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterTrackView

Functioncall:

integer tcp_visibility, number state2, number state3, number state4, integer state5, integer state6, integer state7, integer state8, integer state9, integer state10 = ultraschall.GetProject_MasterTrackView(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the master-view-state of the master-track of the project or a ProjectStateChunk.

It's the entry MASTERTRACKVIEW

returns nil in case of an error

Returnvalues:
 integer tcp_visibility 0, Master-track is invisible in MCP; 1, Master-track is visible in MCP 
 number state2 unknown 
 number state3 unknown 
 number state4 unknown 
 integer state5 unknown 
 integer state6 unknown 
 integer state7 unknown 
 integer state8 unknown 
 integer state9 unknown 
 integer state10 unknown 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the trackview-states; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_CountMasterHWOuts

Functioncall:

integer count_of_hwouts = ultraschall.GetProject_CountMasterHWOuts(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the number of available hwouts in an rpp-project or ProjectStateChunk

It's the entry MASTERHWOUT

returns nil in case of an error

Returnvalues:
 integer count_of_hwouts the number of available hwouts in an rpp-project or ProjectStateChunk 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to count the master-hwouts; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterHWOut

Functioncall:

integer state1, integer state2, number volume, number pan, integer mute, integer phase, integer output_channels, number state8 = ultraschall.GetProject_MasterHWOut(string projectfilename_with_path, integer idx, optional string ProjectStateChunk)

Description:
returns the HWOut of the master-track of the project, as set in the "Outputs for Master Track"-dialog
There can be multiple HWOuts for the Master-Track.

It's the entry MASTERHWOUT

returns nil in case of an error

Returnvalues:
 integer state1 unknown 
 integer state2 unknown 
 number volume volume of the HWOut;  
 number pan the panning; -1(left), 1(right), 0(center) 
 integer mute mute-state; 0, unmuted; 1, muted 
 integer phase phase-inversion; 0, normal phase; 1, inversed phase 
 integer output_channels -1 - None
Stereo Source 1/2
Stereo Source 5/6
New Channels On Sending Track Stereo Source Channel 13/14
Mono Source 1
Mono Source 6
New Channels On Sending Track Mono Source Channel 7
New Channels On Sending Track Mono Source Channel 9
MultiChannel 4 Channels 1-4
Multichannel 4 Channels 3-6
Multichannel 6 Channels 1-6  
 number state8 unknown 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the master-hwout-states; nil to use ProjectStateChunk 
 integer idx the number of the requested HWOut-setting; 1 for the first, etc. 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterVolume

Functioncall:

number volume, number pan, number pan_law, number state4, number pan_knob3 = ultraschall.GetProject_MasterVolume(string projectfilename_with_path, integer idx, optional string ProjectStateChunk)

Description:
returns the Master-volume-state of the master-track of the project.

It's the entry MASTER_VOLUME

returns nil in case of an error

Returnvalues:
 number volume Volume; 0(-inf dB) to 3.981071705535(+12dB);1 for 0dB 
 number pan Panning; -1(left), 1(right), 0(center) 
 number pan_law Pan_Law, as set in the "Pan Law: Master Track"-dialog; 1(0dB); 0.5(-6.02dB) 
 number state4 unknown 
 number pan_knob3 the second pan_knob for pan-mode "Dual Pan"  

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the master-volume-states; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterPanMode

Functioncall:

integer panmode = ultraschall.GetProject_MasterPanMode(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the master-panmode of the master-track of the project.

It's the entry MASTER_PANMODE

returns nil in case of an error

Returnvalues:
 integer panmode the panmode for the master-track;
  -1, Project default (Stereo balance)
   3, Stereo balance  / mono pan(default)
   5, Stereo Pan
   6, Dual Pan
   nil, REAPER 3.x balance(deprecated) 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the master-panmode; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterWidth

Functioncall:

number pan_knob_two = ultraschall.GetProject_MasterWidth(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the master-width for the second pan-knob in stereo pan-modes, of the master-track of the project.

It's the entry MASTER_WIDTH

returns nil in case of an error

Returnvalues:
 number pan_knob_two -1(left), 1(right), 0(center) 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the masterwidth-state; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterGroupFlagsState

Functioncall:

integer GroupState_as_Flags, array IndividualGroupState_Flags = ultraschall.GetProject_MasterGroupFlagsState(string projectfilename_with_path, optional stirng ProjectStateChunk)

Description:
returns the state of the group-flags for the Master-Track, as set in the menu Track Grouping Parameters; from an rpp-projectfile or a ProjectStateChunk.

Returns a 23bit flagvalue as well as an array with 32 individual 23bit-flagvalues. You must use bitoperations to get the individual values.

You can reach the Group-Flag-Settings in the context-menu of a track.

The groups_bitfield_table contains up to 23 entries. Every entry represents one of the checkboxes in the Track grouping parameters-dialog

Each entry is a bitfield, that represents the groups, in which this flag is set to checked or unchecked.

So if you want to get Volume Master(table entry 1) to check if it's set in Group 1(2^0=1) and 3(2^2=4):
  group1=groups_bitfield_table[1]&1
  group2=groups_bitfield_table[1]&4

The following flags(and their accompanying array-entry-index) are available:
                       1 - Volume Master
                       2 - Volume Slave
                       3 - Pan Master
                       4 - Pan Slave
                       5 - Mute Master
                       6 - Mute Slave
                       7 - Solo Master
                       8 - Solo Slave
                       9 - Record Arm Master
                       10 - Record Arm Slave
                       11 - Polarity/Phase Master
                       12 - Polarity/Phase Slave
                       13 - Automation Mode Master
                       14 - Automation Mode Slave
                       15 - Reverse Volume
                       16 - Reverse Pan
                       17 - Do not master when slaving
                       18 - Reverse Width
                       19 - Width Master
                       20 - Width Slave
                       21 - VCA Master
                       22 - VCA Slave
                       23 - VCA pre-FX slave

The GroupState_as_Flags-bitfield is a hint, if a certain flag is set in any of the groups. So, if you want to know, if VCA Master is set in any group, check if flag &1048576 (2^20) is set to 1048576.

This function will work only for Groups 1 to 32. To get Groups 33 to 64, use GetTrackGroupFlags_HighState instead!

It's the entry MASTER_GROUP_FLAGS

returns -1 in case of failure

Returnvalues:
 integer GroupState_as_Flags returns a flagvalue with 23 bits, that tells you, which grouping-flag is set in at least one of the 32 groups available.
returns -1 in case of failure

the following flags are available:
2^0 - Volume Master
2^1 - Volume Slave
2^2 - Pan Master
2^3 - Pan Slave
2^4 - Mute Master
2^5 - Mute Slave
2^6 - Solo Master
2^7 - Solo Slave
2^8 - Record Arm Master
2^9 - Record Arm Slave
2^10 - Polarity/Phase Master
2^11 - Polarity/Phase Slave
2^12 - Automation Mode Master
2^13 - Automation Mode Slave
2^14 - Reverse Volume
2^15 - Reverse Pan
2^16 - Do not master when slaving
2^17 - Reverse Width
2^18 - Width Master
2^19 - Width Slave
2^20 - VCA Master
2^21 - VCA Slave
2^22 - VCA pre-FX slave 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the groups-state-state; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterGroupFlagsHighState

Functioncall:

integer GroupState_as_Flags, array IndividualGroupState_Flags = ultraschall.GetProject_MasterGroupFlagsHighState(string projectfilename_with_path, optional stirng ProjectStateChunk)

Description:
returns the state of the group-high-flags for the Master-Track, as set in the menu Track Grouping Parameters; from an rpp-projectfile or a ProjectStateChunk.

Returns a 23bit flagvalue as well as an array with 32 individual 23bit-flagvalues. You must use bitoperations to get the individual values.

You can reach the Group-Flag-Settings in the context-menu of a track.

The groups_bitfield_table contains up to 23 entries. Every entry represents one of the checkboxes in the Track grouping parameters-dialog

Each entry is a bitfield, that represents the groups, in which this flag is set to checked or unchecked.

So if you want to get Volume Master(table entry 1) to check if it's set in Group 1(2^0=1) and 3(2^2=4):
  group1=groups_bitfield_table[1]&1
  group2=groups_bitfield_table[1]&4

The following flags(and their accompanying array-entry-index) are available:
                       1 - Volume Master
                       2 - Volume Slave
                       3 - Pan Master
                       4 - Pan Slave
                       5 - Mute Master
                       6 - Mute Slave
                       7 - Solo Master
                       8 - Solo Slave
                       9 - Record Arm Master
                       10 - Record Arm Slave
                       11 - Polarity/Phase Master
                       12 - Polarity/Phase Slave
                       13 - Automation Mode Master
                       14 - Automation Mode Slave
                       15 - Reverse Volume
                       16 - Reverse Pan
                       17 - Do not master when slaving
                       18 - Reverse Width
                       19 - Width Master
                       20 - Width Slave
                       21 - VCA Master
                       22 - VCA Slave
                       23 - VCA pre-FX slave

The GroupState_as_Flags-bitfield is a hint, if a certain flag is set in any of the groups. So, if you want to know, if VCA Master is set in any group, check if flag &1048576 (2^20) is set to 1048576.

This function will work only for Groups 1 to 32. To get Groups 33 to 64, use GetTrackGroupFlags_HighState instead!

It's the entry MASTER_GROUP_FLAGS_HIGH

returns -1 in case of failure

Returnvalues:
 integer GroupState_as_Flags returns a flagvalue with 23 bits, that tells you, which grouping-flag is set in at least one of the 32 groups available.
returns -1 in case of failure

the following flags are available:
2^0 - Volume Master
2^1 - Volume Slave
2^2 - Pan Master
2^3 - Pan Slave
2^4 - Mute Master
2^5 - Mute Slave
2^6 - Solo Master
2^7 - Solo Slave
2^8 - Record Arm Master
2^9 - Record Arm Slave
2^10 - Polarity/Phase Master
2^11 - Polarity/Phase Slave
2^12 - Automation Mode Master
2^13 - Automation Mode Slave
2^14 - Reverse Volume
2^15 - Reverse Pan
2^16 - Do not master when slaving
2^17 - Reverse Width
2^18 - Width Master
2^19 - Width Slave
2^20 - VCA Master
2^21 - VCA Slave
2^22 - VCA pre-FX slave 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the groupshigh-state-state; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_GroupDisabled

Functioncall:

integer disabled1, integer disabled2 = ultraschall.GetProject_GroupDisabled(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the group-disabled-stated, of the master-track of the project.

It's the entry GROUPS_DISABLED

returns nil in case of an error

Returnvalues:
 integer disabled1 the disabled groups; it is a bitfield, with &1 for group 1; &32 for group 32; if it's set, the accompanying group is disabled 
 integer disabled2 the disabled groups_high; it is a bitfield, with &1 for group 33; &32 for group 64; if it's set, the accompanying group is disabled 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the groups-disabled-state; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterHWVolEnvStateChunk

Functioncall:

string MasterHWVolEnvStateChunk = ultraschall.GetProject_MasterHWVolEnvStateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the Master-HWVolEnv-StateChunk, that holds MasterHWVolEnv-settings of the master.

It's the entry <MASTERHWVOLENV ... >

returns nil in case of an error

Returnvalues:
 string MasterHWVolEnvStateChunk the statechunk of the HWVolEnv 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the master-hwvolenv-statechunk; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterFXListStateChunk

Functioncall:

string MasterFXListStateChunk = ultraschall.GetProject_MasterFXListStateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the Master-FX_List-StateChunk, that holds Master-FX-settings for the window as well as the FX themselves, of the master.

It's the entry <MASTERFXLIST ... >

returns nil in case of an error

Returnvalues:
 string MasterFXListStateChunk the statechunk of the Master-FX-list 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the master-fxlist-statechunk; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterDualPanEnvStateChunk

Functioncall:

string MasterDualPanEnvStateChunk = ultraschall.GetProject_MasterDualPanEnvStateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the Master-DualPanEnv-StateChunk, that holds MasterDualPanEnv-settings of the master.

It's the entry <MASTERDUALPANENV ... >

returns nil in case of an error

Returnvalues:
 string MasterDualPanEnvStateChunk the statechunk of the Master-DualPan-Env-state 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the master-dualpan-env-statechunk; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterDualPanEnv2StateChunk

Functioncall:

string MasterDualPanEnv2StateChunk = ultraschall.GetProject_MasterDualPanEnv2StateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the Master-DualPanEnv2-StateChunk, that holds master-DualPanEnv2-settings of the master.

It's the entry <MASTERDUALPANENV2 ... >

returns nil in case of an error

Returnvalues:
 string MasterDualPanEnvStateChunk the statechunk of the Master-DualPan-Env-state 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the master-dualpan-env2-statechunk; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterDualPanEnvLStateChunk

Functioncall:

string MasterDualPanEnvLStateChunk = ultraschall.GetProject_MasterDualPanEnvLStateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the Master-DualPan-EnvL-StateChunk, that holds Master-DualPan-EnvL-settings of the master.

It's the entry <MASTERDUALPANENVL ... >

returns nil in case of an error

Returnvalues:
 string MasterDualPanEnvLStateChunk the statechunk of the Master-DualPan-EnvL-state 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the master-dualpan-envL-statechunk; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterDualPanEnvL2StateChunk

Functioncall:

string MasterDualPanEnvL2StateChunk = ultraschall.GetProject_MasterDualPanEnvL2StateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the Master-Dual-Pan-EnvL2-StateChunk, that holds Master-FX-Dual-Pan-EnvL2-settings of the master.

It's the entry <MASTERDUALPANENVL2 ... >

returns nil in case of an error

Returnvalues:
 string MasterDualPanEnvL2StateChunk the statechunk of the Master-DualPan-EnvL2-state 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the master-dualpan-envL2-statechunk; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterVolEnvStateChunk

Functioncall:

string MasterVolEnvStateChunk = ultraschall.GetProject_MasterVolEnvStateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the Master-Vol-Env-StateChunk, that holds Master-Vol-Env-settings of the master.

It's the entry <MASTERVOLENV ... >

returns nil in case of an error

Returnvalues:
 string MasterVolEnvStateChunk the statechunk of the Master-volenv-state 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the master-volenv-statechunk; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterVolEnv2StateChunk

Functioncall:

string MasterVolEnv2StateChunk = ultraschall.GetProject_MasterVolEnv2StateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the Master-Vol-Env2-StateChunk, that holds Master-Vol-Env2-settings of the master.

It's the entry <MASTERVOLENV2 ... >

returns nil in case of an error

Returnvalues:
 string MasterVolEnv2StateChunk the statechunk of the Master-volenv2-state 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the master-volenv2-statechunk; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterVolEnv3StateChunk

Functioncall:

string MasterVolEnv3StateChunk = ultraschall.GetProject_MasterVolEnv3StateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the Master-Vol-Env3-StateChunk, that holds Master-Vol-Env3-settings of the master.

It's the entry <MASTERVOLENV3 ... >

returns nil in case of an error

Returnvalues:
 string MasterVolEnv3StateChunk the statechunk of the Master-volenv3-state 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the master-volenv3-statechunk; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterHWPanEnvStateChunk

Functioncall:

string MasterHWPanEnvStateChunk = ultraschall.GetProject_MasterHWPanEnvStateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the Master-HW-pan-env-StateChunk, that holds Master-pan-env-settings of the master.

It's the entry <MASTERHWPANENV ... >

returns nil in case of an error

Returnvalues:
 string MasterHWPanEnvStateChunk the statechunk of the Master-volenv3-state 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the master-HW-pan-env-statechunk; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_MasterPanMode_Ex

Functioncall:

string MasterHWPanModeEx_StateChunk = ultraschall.GetProject_MasterPanMode_Ex(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the Master-HW-pan-mode-ex-StateChunk, that holds Master-pan-mode-ex-settings of the master.

It's the entry <MASTER_PANMODE_EX ... >

returns nil in case of an error

Returnvalues:
 string MasterHWPanModeEx_StateChunk the statechunk of the Master-pan-mode-ex 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the master-HW-pan-env-statechunk; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_TempoEnv_ExStateChunk

Functioncall:

string TempoEnv_ExStateChunk = ultraschall.GetProject_TempoEnv_ExStateChunk(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
returns the TempoEnv_ExStateChunk, that holds TempoEnv_Ex-settings of an rpp-project or ProjectStateChunk.

It's the entry <TEMPOENVEX ... >

returns nil in case of an error

Returnvalues:
 string TempoEnv_ExStateChunk the statechunk of the Tempo-Env-Ex 

Parameters:
 string projectfilename_with_path the projectfile+path, from which to get the tempo-env-ex-statechunk; nil to use ProjectStateChunk 
 optional string ProjectStateChunk a statechunk of a project, usually the contents of a rpp-project-file 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_Length

Functioncall:

number length, number last_itemedge, number last_marker_reg_edge, number last_timesig_marker = ultraschall.GetProject_Length(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the projectlength of an rpp-project-file.

It's returning the position of the overall length, as well as the position of the last itemedge/regionedge/marker/time-signature-marker of the project.

To do the same for currently opened projects, use: GetProjectLength

Returns -1 in case of an error

Returnvalues:
 number length the length of the project 
 number last_itemedge the postion of the last itemedge in the project 
 number last_marker_reg_edge the position of the last marker/regionedge in the project 
 number last_timesig_marker the position of the last time-signature-marker in the project 

Parameters:
 string projectfilename_with_path the filename of the project, that you want to know it's length of; nil, to use Parameter ProjectStateChunk instead 
 optional string ProjectStateChunk a ProjectStateChunk to count the length of; only available when projectfilename_with_path=nil 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ CreateTemporaryFileOfProjectfile

Functioncall:

string tempfile = ultraschall.CreateTemporaryFileOfProjectfile(string projectfilename_with_path)

Description:
Creates a temporary copy of an rpp-projectfile, which can be altered and rendered again.

Must be deleted by hand using os.remove(tempfile) after you're finished.

returns nil in case of an error

Returnvalues:
 string tempfile the temporary-file, that is a valid copy of the projectfilename_with_path 

Parameters:
 string projectfilename_with_path the project to render; nil, for the currently opened project(needs to be saved first) 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetProject_Length

Functioncall:

number length, number last_itemedge, number last_marker_reg_edge, number last_timesig_marker = ultraschall.GetProject_Length(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the projectlength of an rpp-project-file.

It's eturning the position of the overall length, as well as the position of the last itemedge/regionedge/marker/time-signature-marker of the project.

Returns -1 in case of an error

Returnvalues:
 number length the length of the project 
 number last_itemedge the postion of the last itemedge in the project 
 number last_marker_reg_edge the position of the last marker/regionedge in the project 
 number last_timesig_marker the position of the last time-signature-marker in the project 

Parameters:
 string projectfilename_with_path the filename of the project, that you want to know it's length of; nil, to use Parameter ProjectStateChunk instead 
 optional string ProjectStateChunk a ProjectStateChunk to count the length of; only available when projectfilename_with_path=nil 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ SetProject_RenderPattern

Functioncall:

integer retval = ultraschall.SetProject_RenderPattern(string projectfilename_with_path, string render_pattern, optional string ProjectStateChunk)

Description:
Sets the render-filename in an rpp-projectfile or a ProjectStateChunk. Set it to "", if you want to set the render-filename with SetProject_RenderFilename.

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 string render_pattern the pattern, with which the rendering-filename will be automatically created. Check also GetProject_RenderFilename
Capitalizing the first character of the wildcard will capitalize the first letter of the substitution. Capitalizing the first two characters of the wildcard will capitalize all letters.

Directories will be created if necessary. For example if the render target is "$project/track", the directory "$project" will be created.

Immediately following a wildcard, character replacement statements may be specified:
     -- single character which is to be removed from the substituion. For example: $track< > removes all spaces from the track name, $track<\> removes all slashes.
   -- multiple characters, abcde are all replaced with X. For example: <_.> replaces all underscores with periods, replaces all slashes with underscores. If > is specified as a source character, it must be listed first in the list.

$item    media item take name, if the input is a media item
$itemnumber  1 for the first media item on a track, 2 for the second...
$track    track name
$tracknumber  1 for the first track, 2 for the second...
$parenttrack  parent track name
$region    region name
$regionnumber  1 for the first region, 2 for the second...
$project    project name
$tempo    project tempo at the start of the render region
$timesignature  project time signature at the start of the render region, formatted as 4-4
$filenumber  blank (optionally 1) for the first file rendered, 1 (optionally 2) for the second...
$filenumber[N]  N for the first file rendered, N+1 for the second...
$note    C0 for the first file rendered,C#0 for the second...
$note[X]    X (example: B2) for the first file rendered, X+1 (example: C3) for the second...
$natural    C0 for the first file rendered, D0 for the second...
$natural[X]  X (example: F2) for the first file rendered, X+1 (example: G2) for the second...
$namecount  1 for the first item or region of the same name, 2 for the second...
$timelineorder  1 for the first item or region on the timeline, 2 for the second...

Position/Length:
$start    start time of the media item, render region, or time selection, in M-SS.TTT
$end    end time of the media item, render region, or time selection, in M-SS.TTT
$length    length of the media item, render region, or time selection, in M-SS.TTT
$startbeats  start time in measures.beats of the media item, render region, or time selection
$endbeats  end time in measures.beats of the media item, render region, or time selection
$lengthbeats    length in measures.beats of the media item, render region, or time selection
$starttimecode  start time in H-MM-SS-FF format of the media item, render region, or time selection
$endtimecode  end time in H-MM-SS-FF format of the media item, render region, or time selection
$startframes  start time in absolute frames of the media item, render region, or time selection
$endframes  end time in absolute frames of the media item, render region, or time selection
$lengthframes  length in absolute frames of the media item, render region, or time selection
$startseconds  start time in whole seconds of the media item, render region, or time selection
$endseconds  end time in whole seconds of the media item, render region, or time selection
$lengthseconds  length in whole seconds of the media item, render region, or time selection

Output Format:
$format    render format (example: wav)
$samplerate  sample rate (example: 44100)
$sampleratek  sample rate (example: 44.1)
$bitdepth  bit depth, if available (example: 24 or 32FP)

Current Date/Time:
$year    year, currently 2019
$year2    last 2 digits of the year,currently 19
$month    month number,currently 04
$monthname  month name,currently apr
$day    day of the month, currently 28
$hour    hour of the day in 24-hour format,currently 23
$hour12    hour of the day in 12-hour format,currently 11
$ampm    am if before noon,pm if after noon,currently pm
$minute    minute of the hour,currently 30
$second    second of the minute,currently 27

Computer Information:
$user    user name
$computer  computer name
(this description has been taken from the Render Wildcard Help within the Render-Dialog of Reaper) 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetProject_RenderFilename

Functioncall:

string render_filename = ultraschall.GetProject_RenderFilename(string projectfilename_with_path, optional string ProjectStateChunk)

Description:
Returns the render-filename from an RPP-Projectfile or a ProjectStateChunk. If it contains only a path or nothing, you should check the Render_Pattern using GetProject_RenderPattern, as a render-pattern influences the rendering-filename as well.

It's the entry RENDER_FILE

Returns nil in case of error.

Returnvalues:
 string render_filename the filename for rendering, check also GetProject_RenderPattern 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetProject_GroupName

Functioncall:

string groupname = ultraschall.GetProject_GroupName(string projectfilename_with_path, integer idx, optional string ProjectStateChunk)

Description:
Returns the name associated to a specific group of items. There can be more than one!

It is the GROUP-entry in the root of the ProjectStateChunk.

Returns nil in case of error or if no such entry exists.

Returnvalues:
 string groupname the associated groupname of the itemgroup; nil, no such group or no name is given(default Group idx) 

Parameters:
 string projectfilename_with_path filename with path for the rpp-projectfile; nil, if you want to use parameter ProjectStateChunk 
 integer idx the index of the item-group, whose name you want to know 
 optional string ProjectStateChunk a ProjectStateChunk to use instead if a filename; only used, when projectfilename_with_path is nil 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ SetProject_Lock

Functioncall:

integer retval = ultraschall.SetProject_Lock(string projectfilename_with_path, integer lock_state, optional string ProjectStateChunk)

Description:
Sets the Locked-state of an rpp-projectfile or a ProjectStateChunk.

It's the entry LOCK
It is the one before(!) any
It is a bitfield, containing numerous settings.

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer lock_state the lock-state, which is a bitfield
&1     - Time selection
&2     - Items (full)
&4     - Track envelopes
&8     - Markers
&16    - Regions
&32    - Time signature markers
&64    - Items (prevent left/right movement)
&128   - Items (prevent up/down movement)
&256   - Item edges
&512   - Item fade/volume handles
&1024  - Loop points locked
&2048  - Item envelopes
&4096  - Item stretch markers
&16384 - Enable locking 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ SetProject_GlobalAuto

Functioncall:

integer retval = ultraschall.SetProject_GlobalAuto(string projectfilename_with_path, integer global_auto_state, optional string ProjectStateChunk)

Description:
Sets the global-auto-override-state of an rpp-projectfile or a ProjectStateChunk.

It's the entry GLOBAL_AUTO

This sets the same automation mode to all tracks!

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer global_auto_state the global automation override state, this sets the same automation mode to all tracks!
-1, No global automation override, automation-mode will be set by track
0, trim/read mode
1, read mode
2, touch mode
3, write mode
4, latch mode
5, latch preview mode
6, bypass all automation 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ SetProject_Tempo

Functioncall:

integer retval = ultraschall.SetProject_Tempo(string projectfilename_with_path, integer bpm, integer beat, integer denominator, optional string ProjectStateChunk)

Description:
Sets the tempo, bpm, beat, denominator-state of an rpp-projectfile or a ProjectStateChunk.

It's the entry TEMPO

They are set in the Project Settings -> "Project BPM" and "Time signature"

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer bpm the tempo of the project in bpm 
 integer beat the beat of the project  
 integer denominator the denominator for the beat  
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ SetProject_Playrate

Functioncall:

integer retval = ultraschall.SetProject_Playrate(string projectfilename_with_path, number playrate, integer preserve_pitch, number min_playrate, number max_playrate, optional string ProjectStateChunk)

Description:
Sets the playrate of an rpp-projectfile or a ProjectStateChunk.

It's the entry PLAYRATE

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 number playrate the currently set playrate; 0.01 to 10 
 integer preserve_pitch 0, don't preserve pitch, when changing playrate; 1, preserve pitch, when chaning playrate  
 number min_playrate the minimum playrate possible in the project; 0.01 to 10 
 number max_playrate the maximum playrate possible in the project; 0.01 to 10 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ SetProject_MasterAutomode

Functioncall:

integer retval = ultraschall.SetProject_MasterAutomode(string projectfilename_with_path, integer automode, optional string ProjectStateChunk)

Description:
Sets the automation-mode for the master-track of an rpp-projectfile or a ProjectStateChunk.

It's the entry MASTERAUTOMODE

This sets the same automation mode to all tracks!

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer automode the automation mode for the master-track
0, trim/read mode
1, read mode
2, touch mode
3, write mode
4, latch mode
5, latch preview mode 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ SetProject_MasterSel

Functioncall:

integer retval = ultraschall.SetProject_MasterSel(string projectfilename_with_path, integer selection_state, optional string ProjectStateChunk)

Description:
Sets the selection-state for the master-track of an rpp-projectfile or a ProjectStateChunk.

It's the entry MASTER_SEL

This sets the same automation mode to all tracks!

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer selection_state the selection-state of the MasterTrack; 0, unselected; 1, selected 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ SetProject_MasterMuteSolo

Functioncall:

integer retval = ultraschall.SetProject_MasterMuteSolo(string projectfilename_with_path, integer mute_solo_state, optional string ProjectStateChunk)

Description:
Sets the mute/solo-state for the master-track of an rpp-projectfile or a ProjectStateChunk.
Has no exclusive-solo/mute-settings!

It's the entry MASTERMUTESOLO

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer mute_solo_state the mute-solo-state; it is a bitfield
   0, no mute, no solo, Mono mode L+R
   &1, master-track muted
   &2, master-track soloed
   &4, master-track mono-button
   &8, Mono mode:L
   &16, Mono mode:R
   add 24 for Mono mode L-R  
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ SetProject_MasterFXByp

Functioncall:

integer retval = ultraschall.SetProject_MasterFXByp(string projectfilename_with_path, integer fx_byp_state, optional string ProjectStateChunk)

Description:
Sets the fx-bypass-state for the master-track of an rpp-projectfile or a ProjectStateChunk.

It's the entry MASTER_FX

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer fx_byp_state the fx-bypass-state; 0, master-track-fx bypassed; 1, master-track-fx normal  
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ SetProject_MasterNChans

Functioncall:

integer retval = ultraschall.SetProject_MasterNChans(string projectfilename_with_path, integer number_of_channels, integer peak_metering, optional string ProjectStateChunk)

Description:
Sets the number of channels and vu-meter-settings for the master-track of an rpp-projectfile or a ProjectStateChunk.

It's the entry MASTER_NCH

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer number_of_channels the number of output-channels, as set in the "Outputs for the Master Channel -> Track Channels"-dialog  
 integer peak_metering 2, Multichannel peak metering-setting, as set in the "Master VU settings"-dialog  
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ SetProject_MasterTrackHeight

Functioncall:

integer retval = ultraschall.SetProject_MasterTrackHeight(string projectfilename_with_path, integer height_state, integer height_lock, optional string ProjectStateChunk)

Description:
Sets the trackheight for the master-track of an rpp-projectfile or a ProjectStateChunk.

It's the entry MASTERTRACKHEIGHT

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer height_state the current-height of the master-track, from 24 to 260  
 integer height_lock 0, height-lock is off; 1, height-lock is on  
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ SetProject_MasterTrackColor

Functioncall:

integer retval = ultraschall.SetProject_MasterTrackColor(string projectfilename_with_path, integer color, integer peak_metering, optional string ProjectStateChunk)

Description:
Sets the color for the master-track of an rpp-projectfile or a ProjectStateChunk.

To generate the correct color-value, use ConvertColor.
Note: This color reverses red and blue component on Mac, so it looks different on Mac compared to Windows and Linux!

It's the entry MASTERPEAKCOL

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer color the color-value of the MasterTrack 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ SetProject_MasterPanMode

Functioncall:

integer retval = ultraschall.SetProject_MasterPanMode(string projectfilename_with_path, integer panmode, integer peak_metering, optional string ProjectStateChunk)

Description:
Sets the panmode for the master-track of an rpp-projectfile or a ProjectStateChunk.

It's the entry MASTER_PANMODE

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer panmode the panmode for the master-track;
  -1, Project default (Stereo balance)
   3, Stereo balance  / mono pan(default)
   5, Stereo Pan
   6, Dual Pan
   nil, REAPER 3.x balance(deprecated) 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ SetProject_MasterTrackView

Functioncall:

integer retval, optional string ProjectStateChunk = ultraschall.SetProject_MasterTrackView(string projectfilename_with_path, integer tcp_visibility, number state2, number state3, number state4, integer state5, integer state6, integer state7, optional string ProjectStatechunk)

Description:
Sets the master-view-state of the master-track of the project or a ProjectStateChunk.

It is the entry: MASTERTRACKVIEW

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 optional string ProjectStateChunk the altered ProjectStateChunk 

Parameters:
 string projectfilename_with_path the filename of the projectfile; nil, to use Parameter ProjectStateChunk instead 
 integer tcp_visibility 0, Master-track is invisible in MCP; 1, Master-track is visible in MCP 
 number state2 unknown 
 number state3 unknown 
 number state4 unknown 
 integer state5 unknown 
 integer state6 unknown 
 integer state7 unknown 
 integer state8 unknown 
 integer state9 unknown 
 integer state10 unknown 
 optional string ProjectStateChunk a projectstatechunk, that you want to be changed 


^ Reaper version 5.977Ultraschall version 4.00SWS version 2.10.0.1Julian Sader's plugin version 0.986Lua version 5.3 ^ AutoSearchReaMoteClients

Functioncall:

ultraschall.AutoSearchReaMoteClients()

Description:
Auto-searches for new ReaMote-clients




^ Reaper version 5.40Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetVerticalZoom

Functioncall:

integer vertical_zoom_factor = ultraschall.GetVerticalZoom()

Description:
Returns the vertical-zoom-factor.

Returns -1 in case of error

Returnvalues:
 integer vertical_zoom_factor the current vertical zoom-factor 



^ Reaper version 5.40Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ SetVerticalZoom

Functioncall:

integer retval = ultraschall.SetVerticalZoom(integer vertical_zoom_factor)

Description:
Sets the vertical zoom factor.

To set it relative to the current vertical-zoom-value, use Reaper's own API-function CSurf_OnZoom

Returns -1 in case of error.

Returnvalues:
 integer retval -1, in case of error 

Parameters:
 integer vertical_zoom_factor the current vertical zoom-factor 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ StoreArrangeviewSnapshot

Functioncall:

integer retval = ultraschall.StoreArrangeviewSnapshot(integer slot, string description, boolean position, boolean vzoom, boolean vscroll)

Description:
Stores a new Arrangeview-snapshot, that includes the position, horizontal zoom, vertical zoom and vertical scroll.

Returns -1 in case of error.

Returnvalues:
 integer retval -1, in case of error 

Parameters:
 integer slot the slot for arrangeview-snapshot 
 string description a description for this arrangeview-snapshot 
 boolean position true, store start and endposition of the current arrangeview; false, don't store start and endposition of current arrangeview(keep old position in slot, if existing) 
 boolean vzoom true, store current vertical-zoom-factor; false, don't store current vertical-zoom-factor(keep old zoomfactor in slot, if existing) 
 boolean vscroll true, store current vertical scroll-factor; false, don't store current vertival-scroll-factor 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsValidArrangeviewSnapshot

Functioncall:

boolean retval = ultraschall.IsValidArrangeviewSnapshot(integer slot)

Description:
Checks, if an Arrangeview-snapshot-slot is valid(means set).

Returns false in case of error.

Returnvalues:
 boolean retval true, if Arrangeview-Snapshot is valid; false, if Arrangeview-Snapshot is not existing 

Parameters:
 integer slot the slot for arrangeview-snapshot 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ RetrieveArrangeviewSnapshot

Functioncall:

boolean retval, string description, number startposition, number endposition, integer vzoomfactor, number hzoomfactor, number vertical_scroll = ultraschall.RetrieveArrangeviewSnapshot(integer slot)

Description:
Retrieves an Arrangeview-snapshot and returns the startposition, endposition and vertical and horizontal zoom-factor as well as the number vertical-scroll-factor..

Returns false in case of error.

Returnvalues:
 boolean retval false, in case of error; true, in case of success 
 string description a description for this arrangeview-snapshot 
 number startposition the startposition of the arrangeview 
 number endposition the endposition of the arrangeview 
 integer vzoom the vertical-zoomfactor(0-40) 
 number hzoomfactor the horizontal zoomfactor 
 number vertical_scroll the vertical scroll-value 

Parameters:
 integer slot the slot for arrangeview-snapshot 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ RestoreArrangeviewSnapshot

Functioncall:

boolean retval, string description, number startposition, number endposition, integer vzoomfactor, number hzoomfactor, number vertical_scroll_factor = ultraschall.RestoreArrangeviewSnapshot(integer slot, optional boolean position, optional boolean vzoom, optional integer hcentermode, optional boolean verticalscroll)

Description:
Sets arrangeview to start/endposition and horizontal and vertical-zoom, as received from Arrangeview-Snapshot-slot. It returns the newly set start/endposition, vertical zoom, horizontal zoom and description of slot.

Returns false in case of error.

Returnvalues:
 boolean retval false, in case of error; true, in case of success 
 string description a description for this arrangeview-snapshot 
 number startposition the startposition of the arrangeview 
 number endposition the endposition of the arrangeview 
 integer vzoom the vertical-zoomfactor(0-40) 
 number hzoomfactor the horizontal zoomfactor 
 number vertical_scroll_factor the vertical-scroll-factor 

Parameters:
 integer slot the slot for arrangeview-snapshot 
 optional boolean position nil or true, set arrange to stored start and endposition(and it's horizontal-zoom); false, set only horizontal-zoom 
 optional boolean vzoom nil or true, set vertical-zoom; false, don't set vertical zoom 
 optional integer hcentermode decides, what shall be in the center of the zoomed horizontal view. Only available when position==false
The following are available:
  nil, keeps center of view in the center during zoom(default)
   -1, default selection, as set in the reaper-prefs,
    0, edit-cursor or playcursor(if it's in the current zoomfactor of the view during playback/recording) in center,
    1, keeps edit-cursor in center of zoom
    2, keeps center of view in the center during zoom
    3, keeps in center of zoom, what is beneath the mousecursor 
 optional boolean verticalscroll true or nil, sets vertical scroll-value as well; false, doesn't set vertical-scroll-value 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ DeleteArrangeviewSnapshot

Functioncall:

integer retval = ultraschall.DeleteArrangeviewSnapshot(integer slot)

Description:
Deletes an ArrangeviewSnapshot-slot.

Returns -1 if the slot is unset or slot is an invalid value.

Returnvalues:
 integer retval -1 in case of an error; 0 in case of success 

Parameters:
 integer slot the slot for arrangeview-snapshot 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ SetIDEFontSize

Functioncall:

boolean retval = ultraschall.SetIDEFontSize(integer fontsize)

Description:
Sets the fontsize of Reaper's IDE (ReaScript/Video Processor/JSFX)
New fontsize is valid for all IDE's opened after calling this function.

Returns false in case of an error

Returnvalues:
 boolean retval true, if setting was successful; false, if not 

Parameters:
 integer fontsize the new font-size for Reaper's IDEs 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ GetIDEFontSize

Functioncall:

integer retval = ultraschall.GetIDEFontSize()

Description:
Returns the current fontsize of Reaper's IDE (ReaScript/Video Processor/JSFX)

Returnvalues:
 integer fontsize the currently set fontsize within Reaper's IDEs 



^ Reaper version 5.941Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetPlayCursorWidth

Functioncall:

integer play_cursor_width = ultraschall.GetPlayCursorWidth()

Description:
Returns the width of the playcursor in pixels

see SetPlayCursorWidth for setting the playcursor-width.

Returnvalues:
 integer play_cursor_width the width of the playcursor in pixels 



^ Reaper version 5.941Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ SetPlayCursorWidth

Functioncall:

boolean retval = ultraschall.SetPlayCursorWidth(integer play_cursor_width, boolean persist)

Description:
Sets a new playcursor-width.

see GetPlayCursorWidth for getting the playcursor-width.

Returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer play_cursor_width the new width of the playcursor 
 boolean persist true, set the setting to reaper.ini so it persists after restarting Reaper; false, set it only for the time, until Reaper is restarted 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetScreenWidth

Functioncall:

integer width = ultraschall.GetScreenWidth(optional boolean want_workarea)

Description:
returns the width of the screen in pixels.

returns -1 in case of an error

Returnvalues:
 integer width the width of the screen in pixels 

Parameters:
 optional boolean want_workarea true, returns workspace only; false, full monitor coordinates of the returned viewport; nil, will be seen as true 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetScreenHeight

Functioncall:

integer height = ultraschall.GetScreenHeight(optional boolean want_workarea)

Description:
returns the height of the screen in pixels.

returns -1 in case of an error

Returnvalues:
 integer width the height of the screen in pixels 

Parameters:
 optional boolean want_workarea true, returns workspace only; false, full monitor coordinates of the returned viewport; nil, will be seen as true 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ ShowMenu

Functioncall:

integer retval = ultraschall.ShowMenu(string Title, string Entries, integer x, integer y)

Description:
Draws a menu at position x,y.

Entries is the string, that contains the Menuentries, separated by |
Example: "Entry1|Entry2|Entry3"

Each field can start with a special character
  # grays out the entry
  ! entry is checked
  > starts a new submenu, where every following entry will be part of the submenu
  < ends a submenu with this entry being the last one
These special characters can be combined, however, grayed out entries don't open submenus, even if they are shown as submenus.
A field with nothing in it || creates a separator.    

The returned number follows the numbering of the clickable(!) entries. Even if grayed out-entries can't be selected, they count as well.
However, opening-submenu-entries and separators don't count as clickable.
That said, if you have one grayed out entry and one normal entry, the grayed out entry is 1, the normal entry(the only selectable one) is 2.

The following entry

  Normal1|>SubmenuOpener|Submenuentry1|
creates the following menu:

  Normal1
  SubmenuOpener >
    Submenuentry1
    SubmenuEntry2Closer
  Grayed Out

One last thing: the title does not count as entry!

Note for Mac-users: y-coordinates are "reversed", so y=0 is at the bottom
Note for Linux: does not work on Linux yet.

returns -1 in case of an error

Returnvalues:
 integer retval the selected entry; 0, nothing selected 

Parameters:
 string Title the title shown on top of the menu 
 string Entries the individual entries. See above on how to create such an entry. 
 integer x the x-position of the menu 
 integer y the y-position of the menu 


^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.962Lua version 5.3 ^ IsValidHWND

Functioncall:

boolean retval = ultraschall.IsValidHWND(HWND hwnd)

Description:
Checks, if a HWND-handler is a valid one.

Returns false in case of an error

Returnvalues:
 boolean retval true, if running it was successful; false, if not 

Parameters:
 HWND hwnd the HWND-handler to check for 


^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.962Lua version 5.3 ^ BrowseForOpenFiles

Functioncall:

string path, integer number_of_files, array filearray = ultraschall.BrowseForOpenFiles(string windowTitle, string initialFolder, string initialFile, string extensionList, boolean allowMultiple)

Description:
Opens a filechooser-dialog which optionally allows selection of multiple files.
Unlike Reaper's own GetUserFileNameForRead, this dialog allows giving non-existant files as well(for saving operations).

Returns nil in case of an error

Returnvalues:
 string path the path, in which the selected file(s) lie; nil, in case of an error; "" if no file was selected 
 integer number_of_files the number of files selected; 0, if no file was selected 
 array filearray an array with all the selected files 

Parameters:
 string windowTitle the title shown in the filechooser-dialog 
 string initialFolder the initial-folder opened in the filechooser-dialog 
 string initialFile the initial-file selected in the filechooser-dialog, good for giving default filenames 
 string extensionList a list of extensions that can be selected in the selection-list.
the list has the following structure(separate the entries with a \0):
       "description of type1\0type1\0description of type 2\0type2\0"
the description of type can be anything that describes the type(s),
to define one type, write: *.ext
to define multiple types, write: *.ext;*.ext2;*.ext3
the extensionList must end with a \0 
 boolean allowMultiple true, allows selection of multiple files; false, only allows selection of single files 


^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.963Lua version 5.3 ^ HasHWNDChildWindowNames

Functioncall:

boolean retval = ultraschall.HasHWNDChildWindowNames(HWND hwnd, string childwindownames)

Description:
Returns, whether the given HWND has childhwnds with a certain name in them. This is good for checking for valid Reaper-windows.
As gfx.init()-windows can have the same as Reaper's original-windows, this function gives you the chance for aditional checks.
gfx.init windows don't have child-hwnds and other applications probably have child-hwnds with different names.

returns false in case of an error

Returnvalues:
 boolean retal true, the HWND has child-hwnds with that name(s); false, it doesn't 

Parameters:
 HWND hwnd the HWND, whose child-hwnd-names you want to check 
 string childwindownames a string with the names of the child-HWNDs the parameter hwnd must have. It is a \0-separated string, means, you put \0 in between the child-Hwnd-names. 


^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.962Lua version 5.3 ^ CloseReaScriptConsole

Functioncall:

boolean retval = ultraschall.CloseReaScriptConsole()

Description:
Closes the ReaConsole-window, if opened.

Returns false in case of an error

Returnvalues:
 boolean retval true, if there is a mute-point; false, if there isn't one 



^ Reaper version 6.11Ultraschall version 4.1Julian Sader's plugin version 1.215Lua version 5.3 ^ MB

Functioncall:

integer retval = ultraschall.MB(string msg, optional string title, optional integer type, optional string button1_caption, optional string button2_caption, optional string button3_caption)

Description:
Shows Messagebox with user-clickable buttons. Works like reaper.MB() but unlike reaper.MB, this function accepts omitting some parameters for quicker use.

Important: This doesn't work on Mac, as you can not replace the button texts there in the first place. Sorry...

You can change the text in the buttons with button1_caption, button2_caption and button3_caption.
    
Returns -1 in case of an error

Returnvalues:
 integer the button pressed by the user
-1, error while executing this function
1, Button 1
2, Button 2
3, Button 3 

Parameters:
 string msg the message, that shall be shown in messagebox 
 optional string title the title of the messagebox 
 optional integer type which buttons shall be shown in the messagebox, in that order
0, OK
1, OK CANCEL
2, ABORT RETRY IGNORE
3, YES NO CANCEL
4, YES NO
5, RETRY CANCEL
nil, defaults to OK 
 optional string button1_caption caption of the first button 
 optional string button2_caption caption of the second button 
 optional string button3_caption caption of the third button 


^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.962Lua version 5.3 ^ GetTopmostHWND

Functioncall:

HWND topmost_hwnd, integer number_of_parent_hwnd, table all_parent_hwnds = ultraschall.GetTopmostHWND(HWND hwnd)

Description:
returns the topmost-parent hwnd of a hwnd, as sometimes, hwnds are children of a higher hwnd. It also returns the number of parent hwnds available and a list of all parent hwnds for this hwnd.

A hwnd is a window-handler, which contains all attributes of a certain window.

returns nil in case of an error

Returnvalues:
 HWND hwnd the top-most parent hwnd available 
 integer number_of_parent_hwnd the number of parent hwnds, that are above the parameter hwnd 
 table all_parent_hwnds all available parent hwnds, above the parameter hwnd, including the topmost-hwnd 

Parameters:
 HWND hwnd the HWND, whose topmost parent-HWND you want to have 


^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.962Lua version 5.3 ^ GetReaperWindowAttributes

Functioncall:

integer left, integer top, integer right, integer bottom, boolean active, boolean visible, string title, integer number_of_childhwnds, table childhwnds = ultraschall.GetReaperWindowAttributes()

Description:
returns many attributes of the Reaper Main-window, like position, size, active, visibility, childwindows

A hwnd is a window-handler, which contains all attributes of a certain window.

returns nil in case of an error

Returnvalues:
 integer left the left position of the Reaper-window in pixels 
 integer top the top position of the Reaper-window in pixels 
 integer right the right position of the Reaper-window in pixels 
 integer bottom the bottom position of the Reaper-window in pixels 
 boolean active true, if the window is active(any child-hwnd of the Reaper-window has focus currently); false, if not 
 boolean visible true, Reaper-window is visible; false, Reaper-window is not visible 
 string title the current title of the Reaper-window 
 integer number_of_childhwnds the number of available child-hwnds that the Reaper-window currently has 
 table childhwnds a table with all child-hwnds in the following format:
      childhwnds[index][1]=hwnd
      childhwnds[index][2]=title 

Parameters:
 HWND hwnd the HWND, whose topmost parent-HWND you want to have 


^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.963Lua version 5.3 ^ Windows_Find

Functioncall:

integer count_hwnds, array hwnd_array, array hwnd_adresses = ultraschall.Windows_Find(string title, boolean strict)

Description:
Returns all Reaper-window-HWND-handler, with a given title. Can be further used with the JS_Window_functions of the JS-function-plugin.

Doesn't return IDE-windows! Use GetAllReaScriptIDEWindows to get them.

returns -1 in case of an error

Returnvalues:
 string title the title the window has 
 boolean strict true, if the title must be exactly as given by parameter title; false, only parts of a windowtitle must match parameter title 

Parameters:
 integer count_hwnds the number of windows found 
 array hwnd_array the hwnd-handler of all found windows 
 array hwnd_adresses the adresses of all found windows 


^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.963Lua version 5.3 ^ GetAllReaScriptIDEWindows

Functioncall:

integer count_ide_hwnds, array ide_hwnd_array, array ide_titles = ultraschall.GetAllReaScriptIDEWindows()

Description:
Returns the hwnds and all titles of all Reaper-IDE-windows currently opened.

Returnvalues:
 integer count_ide_hwnds the number of windows found 
 array ide_hwnd_array the hwnd-handler of all found windows 
 array ide_titles the titles of all found windows 



^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.963Lua version 5.3 ^ GetReaScriptConsoleWindow

Functioncall:

HWND reascript_console_hwnd = ultraschall.GetReaScriptConsoleWindow()

Description:
Returns the hwnd of the ReaScript-Console-window, if opened.

returns nil when ReaScript-console isn't opened

Returnvalues:
 HWND reascript_console_hwnd the window-handler to the ReaScript-console, if opened 



^ Reaper version 5.965Ultraschall version 4.00SWS version 2.9.7Julian Sader's plugin version 0.964Lua version 5.3 ^ GetHWND_ArrangeViewAndTimeLine

Functioncall:

HWND arrange_view, HWND timeline, HWND TrackControlPanel, HWND TrackListWindow = ultraschall.GetHWND_ArrangeViewAndTimeLine()

Description:
Returns the HWND-Reaper-Windowhandler for the tracklist- and timeline-area in the arrange-view

returns nil in case of an error. Please report such an error, which means, that you should use ultraschall.ShowLastErrorMessage() to show that error and report the information requested(fruitful bugreports lead to a handwritten postcard as reward :) )

Returnvalues:
 HWND arrange_view the HWND-window-handler for the tracklist-area of the arrangeview 
 HWND timeline the HWND-window-handler for the timeline/markerarea of the arrangeview 
 HWND TrackControlPanel the HWND-window-handler for the track-control-panel(TCP)(may not work anymore in an upcoming Reaper-release! Send me a note in that case!) 
 HWND TrackListWindow the HWND-window-handler for the tracklist-window 



^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.962Lua version 5.3 ^ GetVerticalScroll

Functioncall:

integer vertical_scroll_factor = ultraschall.GetVerticalScroll()

Description:
Gets the current vertical_scroll_value. The valuerange is dependent on the vertical zoom.

Returnvalues:
 integer vertical_scroll_factor the vertical-scroll-factor 



^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.962Lua version 5.3 ^ SetVerticalScroll

Functioncall:

boolean retval = ultraschall.SetVerticalScroll(integer scrollposition)

Description:
Sets the absolute vertical-scroll-factor.

The possible value-range depends on the vertical-zoom.

returns false in case of an error or if scrolling is impossible(e.g. zoomed out fully)

Returnvalues:
 boolean retval true, if setting was successful; false, if setting was unsuccessful 

Parameters:
 integer scrollposition the vertical scrolling-position 


^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.962Lua version 5.3 ^ SetVerticalRelativeScroll

Functioncall:

boolean retval = ultraschall.SetVerticalRelativeScroll(integer relative_scrollposition)

Description:
Sets the vertical-scroll-factor, relative to it's current position.

The possible value-range depends on the vertical-zoom.

returns false in case of an error or if scrolling is impossible(e.g. zoomed out fully)

Returnvalues:
 boolean retval true, if setting was successful; false, if setting was unsuccessful 

Parameters:
 integer scrollposition the vertical scrolling-position 


^ Reaper version 6.11Ultraschall version 4.1SWS version 2.11.0Julian Sader's plugin version 1.215Lua version 5.3 ^ GetUserInputs

Functioncall:

boolean retval, integer number_of_inputfields, table returnvalues = ultraschall.GetUserInputs(string title, table caption_names, table default_retvals, optional integer values_length, optional integer caption_length, optional integer x_pos, optional integer y_pos)

Description:
Gets inputs from the user.

Important: This works only on Windows, currently.

The captions and the default-returnvalues must be passed as an integer-index table.
e.g.
  caption_names[1]="first caption name"
  caption_names[2]="second caption name"
  caption_names[1]="*third caption name, which creates an inputfield for passwords, due the * at the beginning"
  
The number of entries in the tables "caption_names" and "default_retvals" decide, how many inputfields are shown. Maximum is 16 inputfields.
You can safely pass "" as table-entry for a name, if you don't want to set it.
  
  The following example shows an input-dialog with three fields, where the first two the have default-values:
  
    retval, number_of_inputfields, returnvalues = ultraschall.GetUserInputs("I am the title", {"first", "second", "third"}, {1,"two"})  

Note: Don't use this function within defer-scripts or scripts that are started by defer-scripts, as this produces errors.
     This is due limitations in Reaper, sorry.

Note for Mac-Users: size of caption/retval-fields and positioning of the window doesn't work on Mac yet, but you can use these parameters anyways.
                   This is due Mac's way of having y-coordinate starting at the bottom and I will fix it as soon as I figured that out.

returns false in case of an error.

Returnvalues:
 boolean retval true, the user clicked ok on the userinput-window; false, the user clicked cancel or an error occured 
 integer number_of_inputfields the number of returned values; nil, in case of an error 
 table returnvalues the returnvalues input by the user as a table; nil, in case of an error 

Parameters:
 string title the title of the inputwindow 
 table caption_names a table with all inputfield-captions. All non-string-entries will be converted to string-entries. Begin an entry with a * for password-entry-fields.
it can be up to 16 fields
This dialog only allows limited caption-field-length, about 19-30 characters, depending on the size of the used characters.
Don't enter nil as captionname, as this will be seen as end of the table by this function, omitting possible following captionnames! 
 table default_retvals a table with all default retvals. All non-string-entries will be converted to string-entries.
it can be up to 16 fields
Only enter nil as default-retval, if no further default-retvals are existing, otherwise use "" for empty retvals.
for no default-retvals, write nil 
 optional integer values_length the extralength of the values-inputfield. With that, you can enhance the length of the inputfields.
1-500(doesn't work on Mac yet) 
 optional integer caption_length the length of the caption in pixels; inputfields and OK, Cancel-buttons will be moved accordingly.(doesn't work on Mac yet) 
 optional integer x_pos the x-position of the GetUserInputs-dialog; nil, to keep default position(doesn't work on Mac yet) 
 optional integer y_pos the y-position of the GetUserInputs-dialog; nil, to keep default position(doesn't work on Mac yet) 


^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.963Lua version 5.3 ^ GetRenderToFileHWND

Functioncall:

HWND hwnd = ultraschall.GetRenderToFileHWND()

Description:
returns the HWND of the Render to File-dialog, if the window is opened.

returns nil if Render to File-dialog is closed

Returnvalues:
 HWND hwnd the window-handler of the Render to File-dialog 



^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.963Lua version 5.3 ^ GetActionsHWND

Functioncall:

HWND hwnd = ultraschall.GetActionsHWND()

Description:
returns the HWND of the Actions-dialog, if the window is opened.

returns nil if the Actions-dialog is closed

Returnvalues:
 HWND hwnd the window-handler of the Actions-dialog 



^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.963Lua version 5.3 ^ GetVideoHWND

Functioncall:

HWND hwnd = ultraschall.GetVideoHWND()

Description:
returns the HWND of the Video window, if the window is opened.

due API-limitations on Mac and Linux: if more than one window called "Video Window" is opened, it will return -1
I hope to find a workaround for that problem at some point...

returns nil if the Video Window is closed or can't be determined

Returnvalues:
 HWND hwnd the window-handler of the Video Window 



^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.963Lua version 5.3 ^ GetRenderQueueHWND

Functioncall:

HWND hwnd = ultraschall.GetRenderQueueHWND()

Description:
returns the HWND of the Render-Queue-dialog, if the window is opened.

returns nil if the Render-Queue-dialog is closed

Returnvalues:
 HWND hwnd the window-handler of the Render-Queue-dialog 



^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.963Lua version 5.3 ^ GetProjectSettingsHWND

Functioncall:

HWND hwnd = ultraschall.GetProjectSettingsHWND()

Description:
returns the HWND of the Project Settings-dialog, if the window is opened.

returns nil if the Project-Settings-dialog is closed

Returnvalues:
 HWND hwnd the window-handler of the Project Settings-dialog 



^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.963Lua version 5.3 ^ GetPreferencesHWND

Functioncall:

HWND hwnd = ultraschall.GetPreferencesHWND()

Description:
returns the HWND of the Preferences-dialog, if the window is opened.

returns nil if the Preferences-dialog is closed

Returnvalues:
 HWND hwnd the window-handler of the Preferences-dialog 



^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.963Lua version 5.3 ^ GetSaveLiveOutputToDiskHWND

Functioncall:

HWND hwnd = ultraschall.GetSaveLiveOutputToDiskHWND()

Description:
returns the HWND of the "Save live output to disk(bounce)"-dialog, if the window is opened.

returns nil if the "Save live output to disk(bounce)"-dialog is closed

Returnvalues:
 HWND hwnd the window-handler of the "Save live output to disk(bounce)"-dialog 



^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.963Lua version 5.3 ^ GetConsolidateTracksHWND

Functioncall:

HWND hwnd = ultraschall.GetConsolidateTracksHWND()

Description:
returns the HWND of the Consolidate Tracks-dialog, if the window is opened.

returns nil if the Consolidate Tracks-dialog is closed

Returnvalues:
 HWND hwnd the window-handler of the Consolidate Tracks-dialog 



^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.963Lua version 5.3 ^ GetExportProjectMIDIHWND

Functioncall:

HWND hwnd = ultraschall.GetExportProjectMIDIHWND()

Description:
returns the HWND of the "Export Project MIDI"-dialog, if the window is opened.

returns nil if the "Export Project MIDI"-dialog is closed

Returnvalues:
 HWND hwnd the window-handler of the "Export Project MIDI"-dialog 



^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.963Lua version 5.3 ^ GetProjectDirectoryCleanupHWND

Functioncall:

HWND hwnd = ultraschall.GetProjectDirectoryCleanupHWND()

Description:
returns the HWND of the "Project Directory Cleanup"-dialog, if the window is opened.

returns nil if the "Project Directory Cleanup"-dialog is closed

Returnvalues:
 HWND hwnd the window-handler of the "Project Directory Cleanup"-dialog 



^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.963Lua version 5.3 ^ GetBatchFileItemConverterHWND

Functioncall:

HWND hwnd = ultraschall.GetBatchFileItemConverterHWND()

Description:
returns the HWND of the "Batch File/Item Converter"-dialog, if the window is opened.

returns nil if the "Batch File/Item Converter"-dialog is closed

Returnvalues:
 HWND hwnd the window-handler of the "Batch File/Item Converter"-dialog 



^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.972Lua version 5.3 ^ MoveChildWithinParentHWND

Functioncall:

integer newxpos, integer newypos, integer newrightpos, integer newbottompos, integer newrelativeleft, integer newrelativetop, integer newwidth, integer newheight = ultraschall.MoveChildWithinParentHWND(hwnd parenthwnd, hwnd childhwnd, boolean relative, integer left, integer top, integer width, integer height)

Description:
Moves a childhwnd within the coordinates of its parenthwnd.
Good for moving gui-elements around without having to deal with screen-coordinates.

You can decide, whether the new position shall be relative to its old position or absolute within the parenthwnd-position.

The parent-hwnd must not be necessarily the parenthwnd of the childhwnd, so you can move the childhwnd relative to other hwnds as well, but
keep in mind, that the childhwnd is only seeable within the boundaries of it's own parenthwnd!

Returns nil in case of an error

Returnvalues:
 integer newxpos the new x-position on the screen in pixels 
 integer newypos the new y-position on the screen in pixels 
 integer newrightpos the new right-position on the screen in pixels 
 integer newbottompos the new bottom-position on the screen in pixels 
 integer newrelativex the new x-position of the childhwnd, relative to it's position within the parenthwnd 
 integer newrelativey the new y-position of the childhwnd, relative to it's position within the parenthwnd 
 integer newwidth the new width of the childhwnd in pixels 
 integer newheight the new height of the childhwnd in pixels 

Parameters:
 hwnd parenthwnd the parenthwnd of the childhwnd, within whose dimensions you want to move the childhwnd 
 hwnd childhwnd the childhwnd, that you want to move 
 boolean relative true, new position will be relative to the old position; false, new position will be absolute within the boundaries of the parenthwnd 
 integer left the new x-position of the childhwnd in pixels 
 integer top the new y-position of the childhwnd in pixels 
 integer width the new width of the childhwnd in pixels; when relative=true then 0 keeps the old width; when relative=false then 0 is width of 0 pixels 
 integer height the new height of the childhwnd in pixels; when relative=true then 0 keeps the old height; when relative=false then 0 is height of 0 pixels 


^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.972Lua version 5.3 ^ GetChildSizeWithinParentHWND

Functioncall:

integer xpos, integer ypos, integer width, integer height = ultraschall.GetChildSizeWithinParentHWND(hwnd parenthwnd, hwnd childhwnd)

Description:
Returns the position, height and width of a childhwnd, relative to the position of parenthwnd

Returns nil in case of an error

Returnvalues:
 integer xpos the x-position of the childhwnd relative to the position of the parenthwnd in pixels 
 integer ypos the y-position of the childhwnd relative to the position of the parenthwnd in pixels 
 integer width the width of the childhwnd in pixels 
 integer height the height of the childhwnd in pixels 

Parameters:
 hwnd parenthwnd the parenthwnd of the childhwnd, whose position will be the base for position-calculation of the childhwnd 
 hwnd childhwnd the childhwnd, whose dimensions you want to get, relative to the position of the parenthwnd 


^ Reaper version 5.975Ultraschall version 4.00Julian Sader's plugin version 0.972Lua version 5.3 ^ GetCheckboxState

Functioncall:

boolean retval = ultraschall.GetCheckboxState(HWND hwnd)

Description:
Gets the checked-state of a checkbox-hwnd.
This function will not check, whether the hwnd is an actual checkbox!

Returns nil in case of an error

Returnvalues:
 boolean retval true, checkbox is checked; false, checkbox isn't checked 

Parameters:
 HWND hwnd the hwnd-handler of the checkbox 


^ Reaper version 5.975Ultraschall version 4.00Julian Sader's plugin version 0.972Lua version 5.3 ^ SetCheckboxState

Functioncall:

integer retval = ultraschall.SetCheckboxState(HWND hwnd, boolean state)

Description:
Sets the checked-state of a checkbox-hwnd.
This function will not check, whether the hwnd is an actual checkbox!

Returns nil in case of an error

Returnvalues:
 integer retval 0, in case of success 

Parameters:
 HWND hwnd the hwnd-handler of the checkbox 
 boolean state true, checkbox will be checked; false, checkbox will be unchecked 


^ Reaper version 5.977Ultraschall version 4.00Lua version 5.3 ^ GetRenderingToFileHWND

Functioncall:

HWND rendertofile_dialog = ultraschall.GetRenderingToFileHWND()

Description:
Gets the HWND of the Rendering to File-dialog, which is displayed while Reaper is rendering.

returns nil in case of an error

Returnvalues:
 HWND rendertofile_dialog the HWND of the render to file-dialog; nil, in case of an error 



^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ ConvertScreen2ClientXCoordinate_ReaperWindow

Functioncall:

integer Xclientcoordinate = ultraschall.ConvertScreen2ClientXCoordinate_ReaperWindow(integer Xscreencoordinate)

Description:
Converts an x-screencoordinate into a x-coordinate within the Reaper-Main-Window.
Due to Api-limitations, if the Reaper-window is too small, the position might be wrong up to about 74 pixels!

returns -1 in case of error

Returnvalues:
 integer Xclientcoordinate coordinate within the main Reaper-window. Negative, if the coordinate is left of the edge of the window; -1, in case of error 

Parameters:
 integer Xscreencoordinate the screen-coordinate, you want to have converted to. 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ ConvertClient2ScreenXCoordinate_ReaperWindow

Functioncall:

integer Xscreencoordinate = ultraschall.ConvertClient2ScreenXCoordinate_ReaperWindow(integer Xclientcoordinate)

Description:
Converts an x-clientcoordinate from within the main Reaper-window into a x-screencoordinate.
Due to Api-limitations, if the Reaper-window is too small, the position might be wrong up to about 74 pixels!

returns -1 in case of error

Returnvalues:
 integer Xscreencoordinate coordinate within the screen. 

Parameters:
 integer Xclientcoordinate the screen-coordinate, you want to have converted to. Negative, if left of the left edge of the main Reaper-window. 


^ Reaper version 5.40Ultraschall version 4.00SWS version 2.8.8Lua version 5.3 ^ SetReaperWindowToSize

Functioncall:

integer retval = ultraschall.SetReaperWindowToSize(integer width, integer height)

Description:
Sets the Reaper-Window to the size of w and h. The x and y-windowposition will be retained.

Returns -1 in case of error.

Returnvalues:
 integer retval -1 in case of error 

Parameters:
 integer w the new width of the Reaper-window in pixels 
 integer h the new height of the reaper-windows in pixels 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ConvertYCoordsMac2Win

Functioncall:

integer conv_ycoord = ultraschall.ConvertYCoordsMac2Win(integer ycoord, optional integer height)

Description:
Converts the y-coordinate between Windows/Linux and MacOS-based systems.

Note: MacOS y-coordinates begin at the bottom of the screen, while Windows and Linux y-coordinates begin at the top.
With this function, you can convert between these two coordinate-systems

returns nil in case of error

Returnvalues:
 integer conv_ycoord the converted coordinate in pixels 

Parameters:
 integer ycoord the y-coordinate to convert in pixels 
 optional integer height the height of the screen in pixels, which is the base for the conversion; nil, uses current screenheight 


^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.963Lua version 5.3 ^ GetMediaExplorerHWND

Functioncall:

HWND hwnd = ultraschall.GetMediaExplorerHWND()

Description:
returns the HWND of the Media Explorer, if the window is opened.

returns nil if Media Explorer is closed

Returnvalues:
 HWND hwnd the window-handler of the Media Explorer 



^ Reaper version 5.981Ultraschall version 4.00SWS version 2.10.0.1Lua version 5.3 ^ GetTimeByMouseXPosition

Functioncall:

number position = ultraschall.GetTimeByMouseXPosition(integer xposition)

Description:
Returns the projectposition at x-mouseposition.

Returns nil in case of an error

Returnvalues:
 number position the projectposition at x-coordinate in seconds 

Parameters:
 integer xposition the x-position in pixels, from which you would love to have the projectposition 


^ Reaper version 5.92Ultraschall version 4.00Julian Sader's plugin version 0.986Lua version 5.3 ^ ShowTrackInputMenu

Functioncall:

boolean retval = ultraschall.ShowTrackInputMenu(integer x, integer y, optional MediaTrack MediaTrack, optional HWND HWNDParent)

Description:
Opens a TrackInput-context menu

Returns false in case of error.

Returnvalues:
 boolean retval true, opening the menu worked; false, there was an error 

Parameters:
 integer x x position of the context-menu in pixels 
 integer y y position of the context-menu in pixels 
 optional MediaTrack MediaTrack the MediaTrack, which shall be influenced by the menu-selection of the opened context-menu; nil, use the currently selected one 
 optional HWND HWNDParent a HWND, in which the context-menu shall be shown in; nil, use Reaper's main window 


^ Reaper version 5.92Ultraschall version 4.00Julian Sader's plugin version 0.986Lua version 5.3 ^ ShowTrackPanelMenu

Functioncall:

boolean retval = ultraschall.ShowTrackPanelMenu(integer x, integer y, optional MediaTrack MediaTrack, optional HWND HWNDParent)

Description:
Opens a TrackPanel-context menu

Returns false in case of error.

Returnvalues:
 boolean retval true, opening the menu worked; false, there was an error 

Parameters:
 integer x x position of the context-menu in pixels 
 integer y y position of the context-menu in pixels 
 optional MediaTrack MediaTrack the MediaTrack, which shall be influenced by the menu-selection of the opened context-menu; nil, use the currently selected one 
 optional HWND HWNDParent a HWND, in which the context-menu shall be shown in; nil, use Reaper's main window 


^ Reaper version 5.92Ultraschall version 4.00Julian Sader's plugin version 0.986Lua version 5.3 ^ ShowTrackAreaMenu

Functioncall:

boolean retval = ultraschall.ShowTrackAreaMenu(integer x, integer y, optional HWND HWNDParent)

Description:
Opens a TrackArea-context menu

Returns false in case of error.

Returnvalues:
 boolean retval true, opening the menu worked; false, there was an error 

Parameters:
 integer x x position of the context-menu in pixels 
 integer y y position of the context-menu in pixels 
 optional HWND HWNDParent a HWND, in which the context-menu shall be shown in; nil, use Reaper's main window 


^ Reaper version 5.92Ultraschall version 4.00Julian Sader's plugin version 0.986Lua version 5.3 ^ ShowTrackRoutingMenu

Functioncall:

boolean retval = ultraschall.ShowTrackRoutingMenu(integer x, integer y, optional MediaTrack MediaTrack, optional HWND HWNDParent)

Description:
Opens a TrackRouting-context menu

Returns false in case of error.

Returnvalues:
 boolean retval true, opening the menu worked; false, there was an error 

Parameters:
 integer x x position of the context-menu in pixels 
 integer y y position of the context-menu in pixels 
 optional MediaTrack MediaTrack the MediaTrack, which shall be influenced by the menu-selection of the opened context-menu; nil, use the currently selected one 
 optional HWND HWNDParent a HWND, in which the context-menu shall be shown in; nil, use Reaper's main window 


^ Reaper version 5.92Ultraschall version 4.00Julian Sader's plugin version 0.986Lua version 5.3 ^ ShowRulerMenu

Functioncall:

boolean retval = ultraschall.ShowRulerMenu(integer x, integer y, optional HWND HWNDParent)

Description:
Opens a Ruler-context menu

Returns false in case of error.

Returnvalues:
 boolean retval true, opening the menu worked; false, there was an error 

Parameters:
 integer x x position of the context-menu in pixels 
 integer y y position of the context-menu in pixels 
 optional HWND HWNDParent a HWND, in which the context-menu shall be shown in; nil, use Reaper's main window 


^ Reaper version 5.92Ultraschall version 4.00Julian Sader's plugin version 0.986Lua version 5.3 ^ ShowMediaItemMenu

Functioncall:

boolean retval = ultraschall.ShowMediaItemMenu(integer x, integer y, optional MediaItem MediaItem, optional HWND HWNDParent)

Description:
Opens a MediaItem-context menu

Returns false in case of error.

Returnvalues:
 boolean retval true, opening the menu worked; false, there was an error 

Parameters:
 integer x x position of the context-menu in pixels 
 integer y y position of the context-menu in pixels 
 optional MediaItem MediaItem the MediaItem, which shall be influenced by the menu-selection of the opened context-menu; nil, use the currently selected one 
 optional HWND HWNDParent a HWND, in which the context-menu shall be shown in; nil, use Reaper's main window 


^ Reaper version 5.92Ultraschall version 4.00Julian Sader's plugin version 0.986Lua version 5.3 ^ ShowEnvelopeMenu

Functioncall:

boolean retval = ultraschall.ShowEnvelopeMenu(integer x, integer y, optional TrackEnvelope TrackEnvelope, optional HWND HWNDParent)

Description:
Opens a Track/TakeEnvelope-context menu

Returns false in case of error.

Returnvalues:
 boolean retval true, opening the menu worked; false, there was an error 

Parameters:
 integer x x position of the context-menu in pixels 
 integer y y position of the context-menu in pixels 
 optional TrackEnvelope TrackEnvelope the TrackEnvelope/TakeEnvelope, which shall be influenced by the menu-selection of the opened context-menu; nil, use the currently selected TrackEnvelope 
 optional HWND HWNDParent a HWND, in which the context-menu shall be shown in; nil, use Reaper's main window 


^ Reaper version 5.92Ultraschall version 4.00Julian Sader's plugin version 0.986Lua version 5.3 ^ ShowEnvelopePointMenu

Functioncall:

boolean retval = ultraschall.ShowEnvelopePointMenu(integer x, integer y, integer Pointidx, optional TrackEnvelope TrackEnvelope, optional HWND HWNDParent)

Description:
Opens a Track/TakeEnvelope-Point-context menu

Returns false in case of error.

Returnvalues:
 boolean retval true, opening the menu worked; false, there was an error 

Parameters:
 integer x x position of the context-menu in pixels 
 integer y y position of the context-menu in pixels 
 integer Pointidx the envelope-point, which shall be influenced by the context-menu 
 optional TrackEnvelope TrackEnvelope the TrackEnvelope/TakeEnvelope, which shall be influenced by the menu-selection of the opened context-menu; nil, use the currently selected TrackEnvelope 
 optional HWND HWNDParent a HWND, in which the context-menu shall be shown in; nil, use Reaper's main window 


^ Reaper version 5.92Ultraschall version 4.00Julian Sader's plugin version 0.986Lua version 5.3 ^ ShowEnvelopePointMenu_AutomationItem

Functioncall:

boolean retval = ultraschall.ShowEnvelopePointMenu_AutomationItem(integer x, integer y, integer Pointidx, integer AutomationIDX, optional TrackEnvelope TrackEnvelope, optional HWND HWNDParent)

Description:
Opens a Track/TakeEnvelope-Point-context menu for AutomationItems

Returns false in case of error.

Returnvalues:
 boolean retval true, opening the menu worked; false, there was an error 

Parameters:
 integer x x position of the context-menu in pixels 
 integer y y position of the context-menu in pixels 
 integer Pointidx the envelope-point, which shall be influenced by the context-menu 
 integer AutomationIDX the automation item-id within this Envelope, beginning with 1 for the first 
 optional TrackEnvelope TrackEnvelope the TrackEnvelope/TakeEnvelope, which shall be influenced by the menu-selection of the opened context-menu; nil, use the currently selected TrackEnvelope 
 optional HWND HWNDParent a HWND, in which the context-menu shall be shown in; nil, use Reaper's main window 


^ Reaper version 5.92Ultraschall version 4.00Julian Sader's plugin version 0.986Lua version 5.3 ^ ShowAutomationItemMenu

Functioncall:

boolean retval = ultraschall.ShowAutomationItemMenu(integer x, integer y, integer AutomationIDX, optional TrackEnvelope TrackEnvelope, optional HWND HWNDParent)

Description:
Opens an AutomationItem-context menu

Returns false in case of error.

Returnvalues:
 boolean retval true, opening the menu worked; false, there was an error 

Parameters:
 integer x x position of the context-menu in pixels 
 integer y y position of the context-menu in pixels 
 integer AutomationIDX the automation item-id within this Envelope which shall be influenced by the menu-selection of the opened context-menu, beginning with 1 for the first 
 optional TrackEnvelope TrackEnvelope the TrackEnvelope/TakeEnvelope, which shall be influenced by the menu-selection of the opened context-menu; nil, use the currently selected TrackEnvelope 
 optional HWND HWNDParent a HWND, in which the context-menu shall be shown in; nil, use Reaper's main window 


^ Reaper version 5.965Ultraschall version 4.00Julian Sader's plugin version 0.963Lua version 5.3 ^ GetSaveProjectAsHWND

Functioncall:

HWND hwnd = ultraschall.GetSaveProjectAsHWND()

Description:
returns the HWND of the Save As-dialog, if the window is opened.

returns nil if the Save As-dialog is closed

Returnvalues:
 HWND hwnd the window-handler of the Save As-dialog 



^ Reaper version 6.02Ultraschall version 4.00SWS version 2.10.0.1Lua version 5.3 ^ SetHelpDisplayMode

Functioncall:

boolean retval = ultraschall.SetHelpDisplayMode(integer helpcontent, boolean mouseediting)

Description:
sets the help-display-mode, as shown in the area beneath the track control panels.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer helpcontent 0, No information display  
1, Reaper tips  
2, Track/item count  
3, selected track/item/envelope details  
4, CPU/RAM use, time since last save   
 boolean mouseediting true, show mouse editing-help; false, don't show mouse editing-help 


^ Reaper version 6.02Ultraschall version 4.00SWS version 2.10.0.1Lua version 5.3 ^ GetHelpDisplayMode

Functioncall:

integer helpcontent, boolean mouseediting = ultraschall.GetHelpDisplayMode()

Description:
gets the current help-display-mode, as shown in the area beneath the track control panels.

Returnvalues:
 integer helpcontent 0, No information display  
1, Reaper tips  
2, Track/item count  
3, selected track/item/envelope details  
4, CPU/RAM use, time since last save   
 boolean mouseediting true, show mouse editing-help; false, don't show mouse editing-help 



^ Reaper version 6.02Ultraschall version 4.00SWS version 2.10.0.1Lua version 5.3 ^ WiringDiagram_SetOptions

Functioncall:

boolean retval = ultraschall.WiringDiagram_SetOptions(boolean show_send_wires, boolean show_routing_controls, boolean show_hardware_outputs)

Description:
sets the current wiring-display-options

Returnvalues:
 boolean retval true, setting was successful; false, setting was not successful 

Parameters:
 boolean show_send_wires only show send wires on track mouseover; true, it's set; false, it's unset 
 boolean show_routing_controls show routing controls when creating send/hardware output; true, it's set; false, it's unset 
 boolean show_hardware_outputs only show hardware output/input wires on track mouseover; true, it's set; false, it's unset 


^ Reaper version 6.02Ultraschall version 4.00SWS version 2.10.0.1Lua version 5.3 ^ WiringDiagram_GetOptions

Functioncall:

boolean show_send_wires, boolean show_routing_controls, boolean show_hardware_outputs = ultraschall.WiringDiagram_GetOptions()

Description:
gets the current wiring-display-options

Returnvalues:
 boolean show_send_wires only show send wires on track mouseover; true, it's set; false, it's unset 
 boolean show_routing_controls show routing controls when creating send/hardware output; true, it's set; false, it's unset 
 boolean show_hardware_outputs only show hardware output/input wires on track mouseover; true, it's set; false, it's unset 



^ Reaper version 6.02Ultraschall version 4.00Julian Sader's plugin version 0.998Lua version 5.3 ^ GetTCPWidth

Functioncall:

integer width = ultraschall.GetTCPWidth()

Description:
Returns the current width of the TrackControlPanel.

Returnvalues:
 integer width the width of the TCP 



^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ VideoWindow_FullScreenToggle

Functioncall:

boolean fullscreenstate = ultraschall.VideoWindow_FullScreenToggle(optional boolean toggle)

Description:
oggles fullscree-state of Reaper's video-processor-window

returns nil in case of error

Returnvalues:
 boolean fullscreenstate true, video-window is now fullscreen; false, video-window is NOT fullscreen 

Parameters:
 optional boolean toggle true, sets video-window to fullscreen; false, sets video-window to windowed; nil, toggle between fullscreen and nonfullscreen states 


^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ PreventUIRefresh

Functioncall:

integer current_preventcount = ultraschall.PreventUIRefresh()

Description:
like Reaper's own PreventUIRefresh, it allows you to prevent redrawing of the userinterface.

Unlike Reaper's own PreventUIRefresh, this will manage the preventcount itself.

this will not take into account usage of Reaper's own PreventUIRefresh, so you should use either

To reallow refreshing of the UI, use RestoreUIRefresh.

Returnvalues:
 integer current_preventcount the number of times PreventUIRefresh has been called since scriptstart 



^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ RestoreUIRefresh

Functioncall:

integer current_preventcount = ultraschall.RestoreUIRefresh(optional boolean full)

Description:
This reallows UI-refresh, after you've prevented it using PreventUIRefresh.

If you set parameter full=true, it will reset all PreventUIRefresh-calls since scriptstart at once, otherwise you need to call this
as often until the returnvalue current_preventcount equals 0.

To get the remaining UI-refreshes to be restored, use GetPreventUIRefreshCount

If no UIRefreshes are available anymore, calling this function has no effect.

Returnvalues:
 integer current_preventcount the remaining number of times PreventUIRefresh has been called since scriptstart 

Parameters:
 optional boolean full true, restores UIRefresh fully, no matter, how often PreventUIRefresh has been called before; false or nil, just reset one single call to PreventUIRefresh 


^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ GetPreventUIRefreshCount

Functioncall:

integer current_preventcount = ultraschall.GetPreventUIRefreshCount()

Description:
This returns the number of times PreventUIRefresh has been called since scriptstart, minus possible restored UI refreshes.

Use RestoreUIRefresh to restore UI-refresh

Returnvalues:
 integer current_preventcount the remaining number of times PreventUIRefresh has been called since scriptstart 



^ Reaper version 6.10Ultraschall version 4.1SWS version 2.9.7Lua version 5.3 ^ SetItemButtonsVisible

Functioncall:

boolean retval = ultraschall.SetItemButtonsVisible(optional boolean Volume, optional integer Locked, optional integer Mute, optional integer Notes, optional boolean PooledMidi, optional boolean GroupedItems, optional integer PerTakeFX, optional integer Properties, optional integer AutomationEnvelopes)

Description:
allows setting, which item-buttons shall be shown

returns false in case of an error

Returnvalues:
 boolean retval true, setting button was successful; false, buttons couldn't be set 

Parameters:
 optional boolean Volume true, show the volume knob; false, don't show the volume knob; nil, keep current setting 
 optional integer Locked sets state of locked/unlocked button
nil, keep current state
0, don't show lockstate button
1, show locked button only
2, show unlocked button only
3, show locked and unlocked button 
 optional integer Mute sets state of mute/unmuted button
nil, keep current state
0, don't show mute button
1, show mute button only
2, show unmuted button only
3, show muted and unmuted button 
 optional integer Notes sets state of itemnotes-button
nil, keep current state
0, don't show item-note button
1, show itemnote existing-button only
2, show no itemnote existing-button only
3, show itemnote existing and no itemnote existing-button 
 optional boolean PooledMidi true, show the pooled midi-button; false, don't show the pooled midi-button; nil, keep current setting 
 optional boolean GroupedItems true, show the grouped item-button; false, don't show the grouped item-button; nil, keep current setting 
 optional integer PerTakeFX sets state of take fx-button
nil, keep current state
0, don't show take-fx button
1, show active take fx-button only
2, show non active take fx-button only
3, show active and nonactive take fx-button 
 optional integer Properties show properties-button
nil, keep current state
0, don't show item properties-button
1, show item properties-button
2, show item properties-button only if resampled media 
 optional integer AutomationEnvelopes sets state of envelope-button
nil, keep current state
0, don't show envelope-button
1, show active envelope-button only
2, show non active envelope-button only
3, show active and nonactive envelope-button 


^ Reaper version 6.10Ultraschall version 4.1SWS version 2.9.7Lua version 5.3 ^ GetItemButtonsVisible

Functioncall:

boolean Volume, integer Locked, integer Mute, integer Notes, boolean PooledMidi, boolean GroupedItems, integer PerTakeFX, integer Properties, integer AutomationEnvelopes = ultraschall.GetItemButtonsVisible()

Description:
gets, which item-buttons are be shown

Returnvalues:
 boolean Volume true, shows the volume knob; false, doesn't show the volume knob 
 integer Locked gets visibility-state of locked/unlocked button
0, doesn't show lockstate button
1, shows locked button only
2, shows unlocked button only
3, shows locked and unlocked button 
 integer Mute gets visibility-state of mute/unmuted button
0, doesn't show mute button
1, shows mute button only
2, shows unmuted button only
3, shows muted and unmuted button 
 integer Notes gets visibility-state of itemnotes-button
0, doesn't show item-note button
1, shows itemnote existing-button only
2, shows no itemnote existing-button only
3, shows itemnote existing and no itemnote existing-button 
 boolean PooledMidi true, shows the pooled midi-button; false, don't show the pooled midi-button 
 boolean GroupedItems true, shows the grouped item-button; false, don't show the grouped item-button 
 integer PerTakeFX gets visibility-state of take fx-button
0, doesn't show take-fx button
1, shows active take fx-button only
2, shows non active take fx-button only
3, shows active and nonactive take fx-button 
 integer Properties gets visibility-state of properties-button
0, doesn't show item properties-button
1, shows item properties-button
2, shows item properties-button only if resampled media 
 integer AutomationEnvelopes gets visibility-state of envelope-button
0, doesn't show envelope-button
1, shows active envelope-button only
2, shows non active envelope-button only
3, shows active and nonactive envelope-button 



^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ TCP_SetWidth

Functioncall:

boolean retval = ultraschall.TCP_SetWidth(integer width)

Description:
allows setting the width of the tcp.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer width the new width of the tcp in pixels; 0 and higher 


^ Reaper version 5.965Ultraschall version 4.1Julian Sader's plugin version 0.963Lua version 5.3 ^ GetTrackManagerHWND

Functioncall:

HWND hwnd = ultraschall.GetTrackManagerHWND()

Description:
returns the HWND of the Track Manager-dialog, if the window is opened.

returns nil if Track Manager-dialog is closed

Returnvalues:
 HWND hwnd the window-handler of the Track Manager-dialog 



^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ SetTimeUnit

Functioncall:

boolan retval = ultraschall.SetTimeUnit(optional integer transport_unit, optional integer ruler_unit, optional integer ruler_unit2)

Description:
Sets the time-unit for transport, ruler and secondary ruler

returns false in case of error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 optional integer transport_unit the unit for the transport
nil, keep current
0, seconds
1, samples
2, Minutes:Seconds
3, Measures.Beats/minutes:Seconds
4, Measures.Beats
5, Hours:Minutes:Seconds:Frames
6, Absolute frames 
 optional integer ruler_unit the unit for the ruler
nil, keep current
0, seconds
1, samples
2, Minutes:Seconds
3, Measures.Beats/minutes:Seconds
4, Measures.Beats
5, Hours:Minutes:Seconds:Frames
6, Absolute frames
7, Measures.Beats(minimal)/minutes:Seconds
8, Measures.Beats(minimal) 
 optional integer ruler_unit2 the unit for the secondary ruler
nil, keep current
0, seconds
1, samples
2, Minutes:Seconds
3, Hours:Minutes:Seconds:Frames
4, Absolute frames
5, None 


^ Reaper version 5.965    Ultraschall version 4.1Julian Sader's plugin version 0.962Lua version 5.3 ^ ReturnAllChildHWND

Functioncall:

integer count_of_hwnds, table hwnds = ultraschall.ReturnAllChildHWND(HWND hwnd)

Description:
Returns all child-window-handler of hwnd.

Returns -1 in case of an error

Returnvalues:
 integer count_of_hwnds the number of found child-window-handler 
 table hwnds the found child-window-handler of hwnd 

Parameters:
 HWND hwnd the HWND-handler to check for 


^ Reaper version 5.975Ultraschall version 4.2Lua version 5.3 ^ GetRenderCFG_Settings_FLAC

Functioncall:

integer encoding_depth, integer compression = ultraschall.GetRenderCFG_Settings_FLAC(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for flac.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 integer encoding_depth the encoding-depth of the flac in bits(16 to 24) 
 integer compression the data-compression speed from fastest and worst efficiency(0) to slowest but best efficiency(8); default is 5 

Parameters:
 string render_cfg the render-cfg-string, that contains the flac-settings 


^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ GetRenderCFG_Settings_AIFF

Functioncall:

integer bitdepth, boolean EmbedBeatLength = ultraschall.GetRenderCFG_Settings_AIFF(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for aiff.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 integer bitdepth the bitdepth of the AIFF-file(8, 16, 24, 32) 
 boolean EmbedBeatLength Embed beat length if exact-checkbox; true, checked; false, unchecked 

Parameters:
 string render_cfg the render-cfg-string, that contains the aiff-settings 


^ Reaper version 5.975Ultraschall version 4.2Lua version 5.3 ^ GetRenderCFG_Settings_AudioCD

Functioncall:

integer trackmode, boolean use_markers_hashes, integer leadin_silence_tracks, integer leadin_silence_disc, boolean burn_cd_after_render = ultraschall.GetRenderCFG_Settings_AudioCD(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for AudioCD.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 integer trackmode the trackmode
   0, Markers define new tracks
   1, Regions define tracks (other areas ignored)
   2, One track 
 boolean use_markers_hashes Only use markers starting with #-checkbox; only available when trackmode=0, otherwise it will be ignored
  true, checkbox is checked; false, checkbox is unchecked 
 integer leadin_silence_tracks the leadin-silence for tracks in milliseconds(0 to 2147483647) 
 integer leadin_silence_disc the leadin-silence for discs in milliseconds(0 to 2147483647) 
 boolean burn_cd_after_render burn cd image after render-checkbox
    true, checkbox is checked; false, checkbox is unchecked 

Parameters:
 string render_cfg the render-cfg-string, that contains the audiocd-settings 


^ Reaper version 5.975Ultraschall version 4.2Lua version 5.3 ^ GetRenderCFG_Settings_MP3

Functioncall:

integer Mode, integer enc_quality, integer vbr_quality, integer abr_bitrate, integer cbr_bitrate, boolean no_joint_stereo, boolean write_replay_gain = ultraschall.GetRenderCFG_Settings_MP3(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for MP3.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 integer Mode the encoding-mode
32, Target quality(VBR)
1056, Target bitrate (ABR)
65344, Constant bitrate (CBR)
65088, Maximum bitrate/quality 
 integer enc_quality the encoding-quality
   0, Maximum(slow)
   2, Better(recommended)
   3, Normal
   5, Fast encode
   7, Faster encode
   9, Fastest encode 
 integer vbr_quality target-quality for VBR; 0(best 100%) to 9(worst 10%); 4, when Mode is set to  ABR, CBR or Maximum bitrate/quality 
 integer abr_bitrate the average bitrate for ABR in kbps
8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320 
 integer cbr_bitrate the bitrate for CBR in kbps
8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320 
 boolean no_joint_stereo the do not allow joint stereo-checkbox
true, checkbox is checked; false, checkbox is unchecked 
 boolean write_replay_gain the write ReplayGain tag-checkbox
true, checkbox is checked; false, checkbox is unchecked 

Parameters:
 string render_cfg the render-cfg-string, that contains the mp3-settings 


^ Reaper version 5.975Ultraschall version 4.2Lua version 5.3 ^ GetRenderCFG_Settings_MP3MaxQuality

Functioncall:

integer retval, boolean write_replay_gain = ultraschall.GetRenderCFG_Settings_MP3MaxQuality(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for MP3 with maximum quality-settings.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 integer retval 0, the renderstring is a valid MP3-MaxQuality-setting; -1, it is not a valid renderstring for MP3-MaxQuality 
 boolean write_replay_gain the write ReplayGain tag-checkbox
true, checkbox is checked; false, checkbox is unchecked 

Parameters:
 string render_cfg the render-cfg-string, that contains the mp3-maxquality-settings 


^ Reaper version 5.975Ultraschall version 4.2Lua version 5.3 ^ GetRenderCFG_Settings_MP3CBR

Functioncall:

integer cbr_bitrate, integer enc_quality, boolean no_joint_stereo, boolean write_replay_gain = ultraschall.GetRenderCFG_Settings_MP3CBR(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for MP3 CBR.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 integer cbr_bitrate the bitrate for CBR in kbps
8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320 
 integer enc_quality the encoding-quality
   0, Maximum(slow)
   2, Better(recommended)
   3, Normal
   5, Fast encode
   7, Faster encode
   9, Fastest encode 
 boolean no_joint_stereo the do not allow joint stereo-checkbox
true, checkbox is checked; false, checkbox is unchecked 
 boolean write_replay_gain the write ReplayGain tag-checkbox
true, checkbox is checked; false, checkbox is unchecked 

Parameters:
 string render_cfg the render-cfg-string, that contains the mp3-cbr-settings 


^ Reaper version 5.975Ultraschall version 4.2Lua version 5.3 ^ GetRenderCFG_Settings_MP3VBR

Functioncall:

integer vbr_bitrate, integer enc_quality, boolean no_joint_stereo, boolean write_replay_gain = ultraschall.GetRenderCFG_Settings_MP3VBR(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for MP3 VBR.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 integer vbr_quality the variable-bitrate quality; 1(for 10%) to 10(for 100%)  
 integer enc_quality the encoding-quality
   0, Maximum(slow)
   2, Better(recommended)
   3, Normal
   5, Fast encode
   7, Faster encode
   9, Fastest encode 
 boolean no_joint_stereo the do not allow joint stereo-checkbox
true, checkbox is checked; false, checkbox is unchecked 
 boolean write_replay_gain the write ReplayGain tag-checkbox
true, checkbox is checked; false, checkbox is unchecked 

Parameters:
 string render_cfg the render-cfg-string, that contains the mp3-vbr-settings 


^ Reaper version 5.975Ultraschall version 4.2Lua version 5.3 ^ GetRenderCFG_Settings_MP3ABR

Functioncall:

integer bitrate, integer enc_quality, boolean no_joint_stereo, boolean write_replay_gain = ultraschall.GetRenderCFG_Settings_MP3ABR(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for MP3 ABR.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 integer bitrate the encoding quality for the mp3
      0, 8 kbps
      1, 16 kbps
      2, 24 kbps
      3, 32 kbps
      4, 40 kbps
      5, 48 kbps
      6, 56 kbps
      7, 64 kbps
      8, 80 kbps
      9, 96 kbps
      10, 112 kbps
      11, 128 kbps
      12, 160 kbps
      13, 192 kbps
      14, 224 kbps
      15, 256 kbps
      16, 320 kbps  
 integer enc_quality the encoding-quality
   0, Maximum(slow)
   2, Better(recommended)
   3, Normal
   5, Fast encode
   7, Faster encode
   9, Fastest encode 
 boolean no_joint_stereo the do not allow joint stereo-checkbox
true, checkbox is checked; false, checkbox is unchecked 
 boolean write_replay_gain the write ReplayGain tag-checkbox
true, checkbox is checked; false, checkbox is unchecked 

Parameters:
 string render_cfg the render-cfg-string, that contains the mp3-abr-settings 


^ Reaper version 5.975Ultraschall version 4.2Lua version 5.3 ^ GetRenderCFG_Settings_OGG

Functioncall:

integer Mode, integer VBR_quality, integer CBR_KBPS, integer ABR_KBPS, integer ABR_KBPS_MIN, integer ABR_KBPS_MAX = ultraschall.GetRenderCFG_Settings_OGG(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for OGG.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 integer Mode the mode for the ogg-file; 0, VBR; 1, CBR; 2, ABR  
 integer VBR_quality the quality for VBR-mode; a floating-value between 0 and 1 
 integer CBR_KBPS the bitrate for CBR-mode; 0 to 4294967295  
 integer ABR_KBPS the bitrate for ABR-mode; 0 to 4294967295 
 integer ABR_KBPS_MIN the minimum bitrate for ABR-mode; 0 to 4294967295 
 integer ABR_KBPS_MAX the maximum bitrate for ABR-mode; 0 to 4294967295 

Parameters:
 string render_cfg the render-cfg-string, that contains the ogg-settings 


^ Reaper version 5.975Ultraschall version 4.2Lua version 5.3 ^ GetRenderCFG_Settings_OPUS

Functioncall:

integer Mode, integer Bitrate, integer Complexity, boolean channel_audio, boolean per_channel = ultraschall.GetRenderCFG_Settings_OPUS(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for Opus.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 integer Mode the Mode for the Opus-file; 0, VBR; 1, CVBR; 2, HARDCBR  
 integer Bitrate the kbps of the opus-file; between 1 and 256  
 integer Complexity the complexity-setting between 0(lowest quality) and 10(highest quality, slow encoding)  
 boolean channel_audio true, Encode 3-8 channel audio as 2.1-7.1(LFE) -> checked; false, DON'T Encode 3-8 channel audio as 2.1-7.1(LFE) -> unchecked 
 boolean per_channel true, kbps per channel (6-256); false, kbps combined for all channels  

Parameters:
 string render_cfg the render-cfg-string, that contains the opus-settings 


^ Reaper version 5.975Ultraschall version 4.2Lua version 5.3 ^ GetRenderCFG_Settings_GIF

Functioncall:

integer Width, integer Height, number MaxFramerate, boolean PreserveAspectRatio, integer IgnoreLowBits, boolean Transparency = ultraschall.GetRenderCFG_Settings_GIF(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for Gif.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 integer Width the width of the gif in pixels; 1 to 2147483647 pixels 
 integer Height the height of the gif in pixels; 1 to 2147483647 pixels 
 number MaxFramerate the maximum framerate of the gif 
 boolean PreserveAspectRatio Preserve aspect ratio (black bars, if necessary)-checkbox; true, checked; false, unchecked 
 integer IgnoreLowBits Ignore changed in low bits of color (0-7, 0 = full quality)-inputbox 
 boolean Transparency Encode transparency (bad for normal video, good for some things possibly)-checkbox; true, checked; false, unchecked 

Parameters:
 string render_cfg the render-cfg-string, that contains the gif-settings 


^ Reaper version 5.975Ultraschall version 4.2Lua version 5.3 ^ GetRenderCFG_Settings_LCF

Functioncall:

integer Width, integer Height, number MaxFramerate, boolean PreserveAspectRatio, string TweakSettings = ultraschall.GetRenderCFG_Settings_LCF(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for LCF.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 integer Width the width of the gif in pixels; 1 to 2147483647 pixels 
 integer Height the height of the gif in pixels; 1 to 2147483647 pixels 
 number MaxFramerate the maximum framerate of the gif 
 boolean PreserveAspectRatio Preserve aspect ratio (black bars, if necessary)-checkbox; true, checked; false, unchecked 
 string TweakSettings the tweak-settings for LCF, default is "t20 x128 y16" 

Parameters:
 string render_cfg the render-cfg-string, that contains the lcf-settings 


^ Reaper version 5.975Ultraschall version 4.2Lua version 5.3 ^ GetRenderCFG_Settings_WAV

Functioncall:

integer BitDepth, integer LargeFiles, integer BWFChunk, integer IncludeMarkers, boolean EmbedProjectTempo = ultraschall.GetRenderCFG_Settings_WAV(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for WAV.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 integer BitDepth the bitdepth of the WAV-file
   0, 8 Bit PCM
   1, 16 Bit PCM
   2, 24 Bit PCM
   3, 32 Bit FP
   4, 64 Bit FP
   5, 4 Bit IMA ADPCM
   6, 2 Bit cADPCM  
 integer LargeFiles how shall Reaper treat large WAV-files
   0, Auto WAV/Wave64
   1, Auto Wav/RF64
   2, Force WAV
   3, Force Wave64
   4, Force RF64  
 integer BWFChunk The "Write BWF ('bext') chunk" and "Include project filename in BWF data" - checkboxes
   &1, checked - write BWF-checkbox; 0, unchecked
   &2, checked - Include project filename in BWF data-checkbox; 0, unchecked 
 integer IncludeMarkers The include markerlist-dropdownlist
   0, Do not include markers and regions
   1, Markers + regions
   2, Markers + regions starting with #
   3, Markers only
   4, Markers starting with # only
   5, Regions only
   6, Regions starting with # only  
 boolean EmbedProjectTempo Embed tempo-checkbox; true, checked; false, unchecked  

Parameters:
 string render_cfg the render-cfg-string, that contains the wav-settings 


^ Reaper version 5.975Ultraschall version 4.2Lua version 5.3 ^ GetRenderCFG_Settings_WAVPACK

Functioncall:

integer Mode, integer Bitdepth, integer Writemarkers, boolean WriteBWFChunk, boolean IncludeFilenameBWF = ultraschall.GetRenderCFG_Settings_WAVPACK(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for WAVPACK.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 integer Mode 0, Normal; 1, Fast; 2, High; 3, Very High(slowest)  
 integer Bitdepth the bitdepth of the WAVPACK-file
      0(16Bit)
      1(24Bit)
      2(32Bit integer)
      3(32Bit floating point)
      4(23/24 Bit)
      5(22/24 Bit)
      6(21/24 Bit)
      7(20/24 Bit)
      8(19/24 Bit)
      9(18/24 Bit)
      10(17/24 Bit)
      11(32 bit floating point -144dB floor)
      12(32 bit floating point -120dB floor)
      13(32 bit floating point -96dB floor)  
 integer Writemarkers Write markers as cues-checkboxes
   0, nothing checked
   1, Write markers as cues->checked
   2, Write markers as cues and Only write markers starting with #->checked  
 boolean WriteBWFChunk the Write BWF chunk-checkbox; true, checked; false, unchecked  
 boolean IncludeFilenameBWF the include project filename in BWF data-checkbox; true, checked; false, unchecked  

Parameters:
 string render_cfg the render-cfg-string, that contains the wavpack-settings 


^ Reaper version 5.975Ultraschall version 4.2Lua version 5.3 ^ GetRenderCFG_Settings_WebMVideo

Functioncall:

integer VIDKBPS, integer AUDKBPS, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio = ultraschall.GetRenderCFG_Settings_WebMVideo(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for WEBM_Video.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 integer VIDKBPS the video-bitrate of the video in kbps 
 integer AUDKBPS the audio-bitrate of the video in kbps 
 integer WIDTH the width of the video in pixels 
 integer HEIGHT the height of the video in pixels 
 number FPS the fps of the video; must be a double-precision-float value (9.09 or 25.00); due API-limitations, this supports 0.01fps to 2000.00fps 
 boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio  

Parameters:
 string render_cfg the render-cfg-string, that contains the webm-settings 


^ Reaper version 5.975Ultraschall version 4.2Lua version 5.3 ^ GetRenderCFG_Settings_MKV_Video

Functioncall:

integer VIDEO_CODEC, integer MJPEG_quality, integer AUDIO_CODEC, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio = ultraschall.GetRenderCFG_Settings_MKV_Video(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for MKV-Video.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 integer VIDEO_CODEC the used VideoCodec for the MKV-video
0, FFV1 (lossless)
1, Hufyuv (lossless)
2, MJPEG 
 integer MJPEG_quality the MJPEG-quality of the MKV-video, if VIDEO_CODEC=2 
 integer AUDIO_CODEC the audio-codec of the MKV-video
0, 16 bit PCM
1, 24 bit PCM
2, 32 bit FP 
 integer WIDTH the width of the video in pixels 
 integer HEIGHT the height of the video in pixels 
 number FPS the fps of the video; must be a double-precision-float value (9.09 or 25.00); due API-limitations, this supports 0.01fps to 2000.00fps 
 boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio  

Parameters:
 string render_cfg the render-cfg-string, that contains the mkv-settings 


^ Reaper version 5.975Ultraschall version 4.2Lua version 5.3 ^ GetRenderCFG_Settings_AVI_Video

Functioncall:

integer VIDEO_CODEC, integer MJPEG_quality, integer AUDIO_CODEC, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio = ultraschall.GetRenderCFG_Settings_AVI_Video(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for AVI_Video.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 integer VIDEO_CODEC the used VideoCodec for the AVI-video
0, DV
1, MJPEG
2, FFV1 (lossless)
3, Hufyuv (lossless) 
 integer MJPEG_quality the MJPEG-quality of the AVI-video, if VIDEO_CODEC=1 
 integer AUDIO_CODEC the audio-codec of the avi-video
0, 16 bit PCM
1, 24 bit PCM
2, 32 bit FP 
 integer WIDTH the width of the video in pixels 
 integer HEIGHT the height of the video in pixels 
 number FPS the fps of the video; must be a double-precision-float value (9.09 or 25.00); due API-limitations, this supports 0.01fps to 2000.00fps 
 boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio  

Parameters:
 string render_cfg the render-cfg-string, that contains the avi-settings 


^ Reaper version 5.975Ultraschall version 4.2Lua version 5.3 ^ GetRenderCFG_Settings_QTMOVMP4_Video

Functioncall:

integer MJPEG_quality, integer AUDIO_CODEC, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio = ultraschall.GetRenderCFG_Settings_QTMOVMP4_Video(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for QT/MOV/MP4-video.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 integer MJPEG_quality the MJPEG-quality of the video 
 integer AUDIO_CODEC the audio-codec of the video
0, 16 bit PCM
1, 24 bit PCM
2, 32 bit FP 
 integer WIDTH the width of the video in pixels 
 integer HEIGHT the height of the video in pixels 
 number FPS the fps of the video; must be a double-precision-float value (9.09 or 25.00); due API-limitations, this supports 0.01fps to 2000.00fps 
 boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio  

Parameters:
 string render_cfg the render-cfg-string, that contains the qt/mov/mp4-settings 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetRenderCFG_Settings_DDP

Functioncall:

boolean retval = ultraschall.GetRenderCFG_Settings_DDP(string rendercfg)

Description:
Returns, if a renderstring is a valid DDP-render-string

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 boolean retval true, if renderstring is of the format DDP; false, if not 

Parameters:
 string render_cfg the render-cfg-string, that contains the DDP-settings 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_GIF

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_GIF(integer Width, integer Height, number MaxFPS, boolean AspectRatio, integer IgnoreLowBits, boolean EncodeTransparency)

Description:
Creates the render-cfg-string for the GIF-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Returnvalues:
 string render_cfg_string the render-cfg-string for the selected GIF-settings 

Parameters:
 integer Width the width of the gif in pixels; 1 to 2147483647 
 integer Height the height of the gif in pixels; 1 to 2147483647  
 number MaxFPS the maximum framerate of the gif in fps; 0.01 to 2000.01 supported by the Ultraschall API 
 boolean AspectRatio Preserve aspect ratio-checkbox; true, checked; false, unchecked 
 integer IgnoreLowBits Ignore changes in low bits of color-inputbox, 0-7 
 boolean EncodeTransparency Encode transparency-checkbox; true, checked; false, unchecked 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_LCF

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_LCF(integer Width, integer Height, number MaxFPS, boolean AspectRatio, optional string LCFoptionstweak)

Description:
Creates the render-cfg-string for the LCF-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Returnvalues:
 string render_cfg_string the render-cfg-string for the selected LCF-settings 

Parameters:
 integer Width the width of the lcf in pixels; 1 to 2147483647 
 integer Height the height of the lcf in pixels; 1 to 2147483647  
 number MaxFPS the maximum framerate of the lcf in fps; 0.01 to 2000.01 supported by the Ultraschall API 
 boolean AspectRatio Preserve aspect ratio-checkbox; true, checked; false, unchecked 
 optional string LCFoptionstweak a 64bytes string, which can hold tweak-settings for lcf; default is "t20 x128 y16"; this function does not check for these options to be valid! 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_WebMVideo

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_WebMVideo(integer VIDKBPS, integer AUDKBPS, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio)

Description:
Returns the render-cfg-string for the WebM-Video-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Returnvalues:
 string render_cfg_string the render-cfg-string for the selected WebM-Video-settings 

Parameters:
 integer VIDKBPS the video-bitrate of the video in kbps; 1 to 2147483647 
 integer AUDKBPS the audio-bitrate of the video in kbps; 1 to 2147483647 
 integer WIDTH the width of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up! 
 integer HEIGHT the height of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up! 
 number FPS the fps of the video; must be a double-precision-float value (e.g. 9.09 or 25.00); 0.01 to 2000.00 
 boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_MKV_Video

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_MKV_Video(integer VideoCodec, integer MJPEG_quality, integer AudioCodec, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio)

Description:
Returns the render-cfg-string for the MKV-Video-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Returnvalues:
 string render_cfg_string the render-cfg-string for the selected MKV-Video-settings 

Parameters:
 integer VideoCodec the videocodec used for the video;
   1, FFV1 (lossless)
   2, Hufyuv (lossles)
   3, MJPEG 
 integer MJPEG_quality set here the MJPEG-quality in percent, when VideoCodec=3; otherwise just set it to 0 
 integer AudioCodec the audiocodec to use for the video
1, 16 bit PCM
2, 24 bit PCM
3, 32 bit FP 
 integer WIDTH the width of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up! 
 integer HEIGHT the height of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up! 
 number FPS the fps of the video; must be a double-precision-float value (e.g. 9.09 or 25.00); 0.01 to 2000.00 
 boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_QTMOVMP4_Video

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_QTMOVMP4_Video(integer VideoCodec, integer MJPEG_quality, integer AudioCodec, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio)

Description:
Returns the render-cfg-string for the QT/MOV/MP4-Video-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Returnvalues:
 string render_cfg_string the render-cfg-string for the selected QT/MOV/MP4-Video-settings 

Parameters:
 integer VideoCodec the videocodec used for the video;
   1, MJPEG 
 integer MJPEG_quality set here the MJPEG-quality in percent 
 integer AudioCodec the audiocodec to use for the video
1, 16 bit PCM
2, 24 bit PCM
3, 32 bit FP 
 integer WIDTH the width of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up! 
 integer HEIGHT the height of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up! 
 number FPS the fps of the video; must be a double-precision-float value (e.g. 9.09 or 25.00); 0.01 to 2000.00 
 boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_AVI_Video

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_AVI_Video(integer VideoCodec, integer MJPEG_quality, integer AudioCodec, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio)

Description:
Returns the render-cfg-string for the AVI-Video-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Returnvalues:
 string render_cfg_string the render-cfg-string for the selected QT/MOV/MP4-Video-settings 

Parameters:
 integer VideoCodec the videocodec used for the video;
1, DV
2, MJPEG
3, FFV1 (lossless)
4, Hufyuv (lossless) 
 integer MJPEG_quality set here the MJPEG-quality in percent when VideoCodec=2, otherwise just set it to 0 
 integer AudioCodec the audiocodec to use for the video
1, 16 bit PCM
2, 24 bit PCM
3, 32 bit FP 
 integer WIDTH the width of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up! 
 integer HEIGHT the height of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up! 
 number FPS the fps of the video; must be a double-precision-float value (e.g. 9.09 or 25.00); 0.01 to 2000.00 
 boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio 


^ Reaper version 5.975Ultraschall version 4.2Lua version 5.3 ^ GetRenderCFG_Settings_MP4Mac_Video

Functioncall:

boolean Stream, integer VIDKBPS, integer AUDKBPS, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio = ultraschall.GetRenderCFG_Settings_MP4Mac_Video(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for MP4 for Mac_Video(stream optimised and non-stream optimised).
This is Mac-OS only!

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 boolean Stream true, mp4-video would be stream-optimized; false, mp4-video would not be stream-optimized 
 integer VIDKBPS the video-bitrate of the video in kbps 
 integer AUDKBPS the audio-bitrate of the video in kbps 
 integer WIDTH the width of the video in pixels 
 integer HEIGHT the height of the video in pixels 
 number FPS the fps of the video; must be a double-precision-float value (9.09 or 25.00); due API-limitations, this supports 0.01fps to 2000.00fps 
 boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio  

Parameters:
 string render_cfg the render-cfg-string, that contains the webm-settings 


^ Reaper version 5.975Ultraschall version 4.2Lua version 5.3 ^ GetRenderCFG_Settings_MOVMac_Video

Functioncall:

integer VideoCodec, integer VIDKBPS, integer MJPEG_quality, integer AudioCodec, integer AUDKBPS, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio = ultraschall.GetRenderCFG_Settings_MOVMac_Video(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for MOV for Mac_Video.
This is MacOS-only.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 integer VideoCodec the videocodec used for this setting
0, h264
1, Apple ProRes 4444
2, Apple ProRes 422
3, MJPEG 
 integer VIDKBPS the video-bitrate of the video in kbps 
 integer MJPEG_quality when VideoCodec==3, then MJPEG is used; given in percent 
 integer AudioCodec the audiocodec used
0, AAC
1, 16-bit PCM
2, 24-bit PCM
3, 32-bit FP PCM 
 integer AUDKBPS the audio-bitrate of the video in kbps 
 integer WIDTH the width of the video in pixels 
 integer HEIGHT the height of the video in pixels 
 number FPS the fps of the video; must be a double-precision-float value (9.09 or 25.00); due API-limitations, this supports 0.01fps to 2000.00fps 
 boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio  

Parameters:
 string render_cfg the render-cfg-string, that contains the webm-settings 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetRenderCFG_Settings_M4AMac

Functioncall:

integer AUDKBPS, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio = ultraschall.GetRenderCFG_Settings_M4AMac(string rendercfg)

Description:
Returns the settings stored in a render-cfg-string for M4A for Mac_Video(even though this stores only audio-files).
This is MacOS-only.

You can get this from the current RENDER_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns -1 in case of an error

Returnvalues:
 integer AUDKBPS the audio-bitrate of the audio in kbps 
 integer WIDTH the width of the audio in pixels 
 integer HEIGHT the height of the audio in pixels 
 number FPS the fps of the audio; must be a double-precision-float value (9.09 or 25.00); due API-limitations, this supports 0.01fps to 2000.00fps 
 boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio  

Parameters:
 string render_cfg the render-cfg-string, that contains the webm-settings 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_MP4MAC_Video

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_MP4MAC_Video(boolean stream, integer VIDKBPS, integer AUDKBPS, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio)

Description:
Returns the render-cfg-string for the MP4-Mac-Video-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini
Only available on MacOS!

Returns nil in case of an error

Returnvalues:
 string render_cfg_string the render-cfg-string for the selected MP4-Mac-Video-settings 

Parameters:
 boolean Stream true, the mp4-video is stream-optimized; false, the video is not stream-optimized 
 integer VIDKBPS the video-bitrate for the video; 0 to 2147483647kbps 
 integer AUDKBPS the audio-bitrate for the video; 0 to 2147483647kbps 
 integer WIDTH the width of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up! 
 integer HEIGHT the height of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up! 
 number FPS the fps of the video; must be a double-precision-float value (e.g. 9.09 or 25.00); 0.01 to 2000.00 
 boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_M4AMAC

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_M4AMAC(integer AUDKBPS, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio)

Description:
Returns the render-cfg-string for the M4A-Mac-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini
Only available on MacOS!

Returns nil in case of an error

Returnvalues:
 string render_cfg_string the render-cfg-string for the selected M4A-Mac-settings 

Parameters:
 integer AUDKBPS the audio-bitrate for the video; 0 to 2147483647 kbps 
 integer WIDTH the width of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up! 
 integer HEIGHT the height of the video in pixels; 1 to 2147483647; only even values(2,4,6,etc) will be accepted by Reaper, uneven will be rounded up! 
 number FPS the fps of the video; must be a double-precision-float value (e.g. 9.09 or 25.00); 0.01 to 2000.00 
 boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_MOVMAC_Video

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_MOVMAC_Video(integer VideoCodec, integer VIDKBPS, integer MJPEG_quality, integer AudioCodec, integer AUDKBPS, integer WIDTH, integer HEIGHT, number FPS, boolean AspectRatio)

Description:
Returns the render-cfg-string for the MOV-Mac-Video-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini
Only available on MacOS!

Returns nil in case of an error

Returnvalues:
 string render_cfg_string the render-cfg-string for the selected MP4-Mac-Video-settings 

Parameters:
 integer VideoCodec the videocodec used for this setting
0, h264
1, Apple ProRes 4444
2, Apple ProRes 422
3, MJPEG 
 integer VIDKBPS the video-bitrate of the video in kbps 
 integer MJPEG_quality when VideoCodec==3, then MJPEG is used; given in percent 
 integer AudioCodec the audiocodec used
0, AAC
1, 16-bit PCM
2, 24-bit PCM
3, 32-bit FP PCM 
 integer AUDKBPS the audio-bitrate of the video in kbps 
 integer WIDTH the width of the video in pixels 
 integer HEIGHT the height of the video in pixels 
 number FPS the fps of the video; must be a double-precision-float value (9.09 or 25.00); due API-limitations, this supports 0.01fps to 2000.00fps 
 boolean AspectRatio the aspect-ratio; true, keep source aspect ratio; false, don't keep source aspect ratio  


^ Reaper version 6.20Ultraschall version 4.2SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ GetRenderTable_Project

Functioncall:

table RenderTable = ultraschall.GetRenderTable_Project()

Description:
Returns all stored render-settings for the current project, as a handy table.

RenderTable["AddToProj"] - Add rendered items to new tracks in project-checkbox; true, checked; false, unchecked
RenderTable["Bounds"] - 0, Custom time range; 1, Entire project; 2, Time selection; 3, Project regions; 4, Selected Media Items(in combination with Source 32); 5, Selected regions
RenderTable["Channels"] - the number of channels in the rendered file; 1, mono; 2, stereo; higher, the number of channels
RenderTable["CloseAfterRender"] - true, closes rendering to file-dialog after render; false, doesn't close it
RenderTable["Dither"] - &1, dither master mix; &2, noise shaping master mix; &4, dither stems; &8, dither noise shaping stems
RenderTable["EmbedMetaData"] - Embed metadata; true, checked; false, unchecked
RenderTable["EmbedStretchMarkers"] - Embed stretch markers/transient guides; true, checked; false, unchecked
RenderTable["EmbedTakeMarkers"] - Embed Take markers; true, checked; false, unchecked
RenderTable["Enable2ndPassRender"] - true, 2nd pass render is enabled; false, 2nd pass render is disabled
RenderTable["Endposition"] - the endposition of the rendering selection in seconds
RenderTable["MultiChannelFiles"] - Multichannel tracks to multichannel files-checkbox; true, checked; false, unchecked
RenderTable["NoSilentRender"] - Do not render files that are likely silent-checkbox; true, checked; false, unchecked
RenderTable["OfflineOnlineRendering"] - Offline/Online rendering-dropdownlist; 0, Full-speed Offline; 1, 1x Offline; 2, Online Render; 3, Online Render(Idle); 4, Offline Render(Idle)
RenderTable["OnlyMonoMedia"] - Tracks with only mono media to mono files-checkbox; true, checked; false, unchecked
RenderTable["ProjectSampleRateFXProcessing"] - Use project sample rate for mixing and FX/synth processing-checkbox; true, checked; false, unchecked
RenderTable["RenderFile"] - the contents of the Directory-inputbox of the Render to File-dialog
RenderTable["RenderPattern"] - the render pattern as input into the File name-inputbox of the Render to File-dialog
RenderTable["RenderQueueDelay"] - Delay queued render to allow samples to load-checkbox; true, checked; false, unchecked
RenderTable["RenderQueueDelaySeconds"] - the amount of seconds for the render-queue-delay
RenderTable["RenderResample"] - Resample mode-dropdownlist; 0, Medium (64pt Sinc); 1, Low (Linear Interpolation); 2, Lowest (Point Sampling); 3, Good (192pt Sinc); 4, Better (348 pt Sinc); 5, Fast (IIR + Linear Interpolation); 6, Fast (IIRx2 + Linear Interpolation); 7, Fast (16pt Sinc); 8, HQ (512 pt); 9, Extreme HQ(768pt HQ Sinc)
RenderTable["RenderString"] - the render-cfg-string, that holds all settings of the currently set render-output-format as BASE64 string
RenderTable["RenderString2"] - the render-cfg-string, that holds all settings of the currently set secondary-render-output-format as BASE64 string
RenderTable["RenderTable"]=true - signals, this is a valid render-table
RenderTable["SampleRate"] - the samplerate of the rendered file(s)
RenderTable["SaveCopyOfProject"] - the "Save copy of project to outfile.wav.RPP"-checkbox; true, checked; false, unchecked
RenderTable["SilentlyIncrementFilename"] - Silently increment filenames to avoid overwriting-checkbox; true, checked; false, unchecked
RenderTable["Source"] - 0, Master mix; 1, Master mix + stems; 3, Stems (selected tracks); 8, Region render matrix; 16, Tracks with only Mono-Media to Mono Files; 32, Selected media items; 64, selected media items via master; 128, selected tracks via master
RenderTable["Startposition"] - the startposition of the rendering selection in seconds
RenderTable["TailFlag"] - in which bounds is the Tail-checkbox checked? &1, custom time bounds; &2, entire project; &4, time selection; &8, all project regions; &16, selected media items; &32, selected project regions
RenderTable["TailMS"] - the amount of milliseconds of the tail

Returns nil in case of an error

Returnvalues:
 table RenderTable a table with all of the current project's render-settings 



^ Reaper version 6.20Ultraschall version 4.2Lua version 5.3 ^ GetRenderTable_ProjectFile

Functioncall:

table RenderTable = ultraschall.GetRenderTable_ProjectFile(string projectfilename_with_path)

Description:
Returns all stored render-settings in a projectfile, as a handy table.

RenderTable["AddToProj"] - Add rendered items to new tracks in project-checkbox; true, checked; false, unchecked
RenderTable["Bounds"] - 0, Custom time range; 1, Entire project; 2, Time selection; 3, Project regions; 4, Selected Media Items(in combination with Source 32); 5, Selected regions
RenderTable["Channels"] - the number of channels in the rendered file; 1, mono; 2, stereo; higher, the number of channels
RenderTable["CloseAfterRender"] - close rendering to file-dialog after render; always true, as this isn't stored in projectfiles
RenderTable["Dither"] - &1, dither master mix; &2, noise shaping master mix; &4, dither stems; &8, dither noise shaping stems
RenderTable["EmbedMetaData"] - Embed metadata; true, checked; false, unchecked
RenderTable["EmbedStretchMarkers"] - Embed stretch markers/transient guides; true, checked; false, unchecked
RenderTable["EmbedTakeMarkers"] - Embed Take markers; true, checked; false, unchecked
RenderTable["Enable2ndPassRender"] - true, 2nd pass render is enabled; false, 2nd pass render is disabled
RenderTable["Endposition"] - the endposition of the rendering selection in seconds
RenderTable["MultiChannelFiles"] - Multichannel tracks to multichannel files-checkbox; true, checked; false, unchecked
RenderTable["NoSilentRender"] - Do not render files that are likely silent-checkbox; true, checked; false, unchecked
RenderTable["OfflineOnlineRendering"] - Offline/Online rendering-dropdownlist; 0, Full-speed Offline; 1, 1x Offline; 2, Online Render; 3, Online Render(Idle); 4, Offline Render(Idle)
RenderTable["OnlyMonoMedia"] - Tracks with only mono media to mono files-checkbox; true, checked; false, unchecked
RenderTable["ProjectSampleRateFXProcessing"] - Use project sample rate for mixing and FX/synth processing-checkbox; true, checked; false, unchecked
RenderTable["RenderFile"] - the contents of the Directory-inputbox of the Render to File-dialog
RenderTable["RenderPattern"] - the render pattern as input into the File name-inputbox of the Render to File-dialog
RenderTable["RenderQueueDelay"] - Delay queued render to allow samples to load-checkbox; true, checkbox is checked; false, checkbox is unchecked
RenderTable["RenderQueueDelaySeconds"] - the amount of seconds for the render-queue-delay
RenderTable["RenderResample"] - Resample mode-dropdownlist; 0, Medium (64pt Sinc); 1, Low (Linear Interpolation); 2, Lowest (Point Sampling); 3, Good (192pt Sinc); 4, Better (348 pt Sinc); 5, Fast (IIR + Linear Interpolation); 6, Fast (IIRx2 + Linear Interpolation); 7, Fast (16pt Sinc); 8, HQ (512 pt); 9, Extreme HQ(768pt HQ Sinc)
RenderTable["RenderString"] - the render-cfg-string, that holds all settings of the currently set render-output-format as BASE64 string
RenderTable["RenderString2"] - the render-cfg-string, that holds all settings of the currently set secondary-render-output-format as BASE64 string
RenderTable["RenderTable"]=true - signals, this is a valid render-table
RenderTable["SampleRate"] - the samplerate of the rendered file(s)
RenderTable["SaveCopyOfProject"] - the "Save copy of project to outfile.wav.RPP"-checkbox; always true(checked), as this isn't stored in projectfiles
RenderTable["SilentlyIncrementFilename"] - Silently increment filenames to avoid overwriting-checkbox; always false, as this is not stored in projectfiles
RenderTable["Source"] - 0, Master mix; 1, Master mix + stems; 3, Stems (selected tracks); 8, Region render matrix; 16, Tracks with only Mono-Media to Mono Files; 32, Selected media items; 64, selected media items via master; 128, selected tracks via master
RenderTable["Startposition"] - the startposition of the rendering selection in seconds
RenderTable["TailFlag"] - in which bounds is the Tail-checkbox checked? &1, custom time bounds; &2, entire project; &4, time selection; &8, all project regions; &16, selected media items; &32, selected project regions
RenderTable["TailMS"] - the amount of milliseconds of the tail

Returns nil in case of an error

Returnvalues:
 table RenderTable a table with all of the current project's render-settings 

Parameters:
 string projectfilename_with_path the projectfile, whose render-settings you want to get 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetOutputFormat_RenderCfg

Functioncall:

string outputformat, string renderstring = ultraschall.GetOutputFormat_RenderCfg(string Renderstring, optional ReaProject ReaProject)

Description:
Returns the output-format set in a render-cfg-string, as stored in rpp-files and the render-presets file reaper-render.ini

Returns nil in case of an error

Returnvalues:
 string outputformat the outputformat, set in the render-cfg-string
The following are valid:
WAV, AIFF, AUDIOCD-IMAGE, DDP, FLAC, MP3, OGG, Opus, Video, Video (Mac), Video GIF, Video LCF, WAVPACK 
 string renderstring the renderstringm which is either the renderstring you've passed or the one from the ReaProject you passed as second parameter 

Parameters:
 string Renderstring the render-cfg-string from a rpp-projectfile or the reaper-render.ini
nil, to get the settings of the currently opened project 
 optional ReaProject ReaProject a ReaProject, whose renderformat you want to know; only available, when Renderstring=nil
set to nil, to use the currently opened project
pass as integer to get the renderformat of a specific projecttab, with 0 for the current, 1 for the first, 2 for the second, etc 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_Opus

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_Opus(integer Mode, integer Kbps, integer Complexity, optional boolean channel_audio, optional boolean per_channel)

Description:
Creates the render-cfg-string for the Opus-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Returnvalues:
 string render_cfg_string the render-cfg-string for the selected Opus-settings 

Parameters:
 integer Mode the Mode for the Opus-file; 0, VBR; 1, CVBR; 2, HARDCBR 
 integer Kbps the kbps of the opus-file; Ultraschall-Api supports between 1 and 10256  
 integer Complexity the complexity-setting between 0(lowest quality) and 10(highest quality, slow encoding) 
 boolean channel_audio true, Encode 3-8 channel audio as 2.1-7.1(LFE); false, DON'T Encode 3-8 channel audio as 2.1-7.1(LFE)  
 boolean per_channel true, kbps per channel (6-256); false, kbps combined for all channels  


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_OGG

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_OGG(integer Mode, number VBR_Quality, integer CBR_KBPS, integer ABR_KBPS, integer ABR_KBPS_MIN, integer ABR_KBPS_MAX)

Description:
Returns the render-cfg-string for the OGG-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini
For all mode-settings that you don't need(kbps or quality), you can safely set them to 1.

Returns nil in case of an error

Returnvalues:
 string render_cfg_string the render-cfg-string for the selected OGG-settings 

Parameters:
 integer Mode the mode for the ogg-file; 0, VBR; 1, CBR; 2, ABR 
 number VBR_Quality the quality for VBR-mode; a floating-value between 0 and 1 
 integer CBR_KBPS the bitrate for CBR-mode; 0 to 2048 
 integer ABR_KBPS the bitrate for ABR-mode; 0 to 2048 
 integer ABR_KBPS_MIN the minimum-bitrate for ABR-mode; 0 to 2048 
 integer ABR_KBPS_MAX the maximum-bitrate for ABR-mode; 0 to 2048 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_DDP

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_DDP()

Description:
Returns the render-cfg-string for the DDP-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returnvalues:
 string render_cfg_string the render-cfg-string for the selected DDP-settings 



^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_FLAC

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_FLAC(integer Bitrate, integer EncSpeed)

Description:
Returns the render-cfg-string for the FLAC-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Returnvalues:
 string render_cfg_string the render-cfg-string for the selected FLAC-settings 

Parameters:
 integer Bitrate the bitrate of the flac-file;
0, 24 bit
1, 23/24 bit
2, 22/24 bit
3, 21/24 bit
4, 20/24 bit
5, 19/24 bit
6, 18/24 bit
7, 17/24 bit
8, 16 bit 
 integer EncSpeed the encoding speed; 0(fastest) to 8(slowest); 5(default) 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_WAVPACK

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_WAVPACK(integer Mode, integer Bitdepth, integer Writemarkers, boolean WriteBWFChunk, boolean IncludeFilenameBWF)

Description:
Returns the render-cfg-string for the WAVPACK-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Returnvalues:
 string render_cfg_string the render-cfg-string for the selected WAVPACK-settings 

Parameters:
 integer Mode 0, Normal; 1, Fast; 2, High; 3, Very High(slowest) 
 integer Bitdepth the bitdepth of the WAVPACK-file
   0(16Bit)
   1(24Bit)
   2(32Bit integer)
   3(32Bit floating point)
   4(23/24 Bit)
   5(22/24 Bit)
   6(21/24 Bit)
   7(20/24 Bit)
   8(19/24 Bit)
   9(18/24 Bit)
   10(17/24 Bit)
   11(32 bit floating point -144dB floor)
   12(32 bit floating point -120dB floor)
   13(32 bit floating point -96dB floor) 
 integer Writemarkers Write markers as cues-checkboxes
0, nothing checked
1, Write markers as cues->checked
2, Write markers as cues and Only write markers starting with #->checked 
 boolean WriteBWFChunk the Write BWF chunk-checkbox; true, checked; false, unchecked 
 boolean IncludeFilenameBWF the include project filename in BWF data-checkbox; true, checked; false, unchecked 


^ Reaper version 6.20Ultraschall version 4.2Lua version 5.3 ^ IsValidRenderTable

Functioncall:

boolean retval = ultraschall.IsValidRenderTable(RenderTable RenderTable)

Description:
returns, if the table RenderTable is a valid RenderTable.

Returns false in case of an error; the error-message contains the faulty table-entry.

Returnvalues:
 boolean retval true, RenderTable is a valid RenderTable; false, it is not a valid RenderTable 

Parameters:
 RenderTable RenderTable the table, that you want to check for validity 


^ Reaper version 6.20Ultraschall version 4.2SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ ApplyRenderTable_Project

Functioncall:

boolean retval = ultraschall.ApplyRenderTable_Project(RenderTable RenderTable, optional boolean apply_rendercfg_string)

Description:
Sets all stored render-settings from a RenderTable as the current project-settings.

Note: On Reaper 6.10, you cannot set AddToProj and NoSilentRender simultaneously due a bug in Reaper; is fixed in higher versions.

Expected table is of the following structure:
RenderTable["AddToProj"] - Add rendered items to new tracks in project-checkbox; true, checked; false, unchecked
RenderTable["Bounds"] - 0, Custom time range; 1, Entire project; 2, Time selection; 3, Project regions; 4, Selected Media Items(in combination with Source 32); 5, Selected regions
RenderTable["Channels"] - the number of channels in the rendered file; 1, mono; 2, stereo; higher, the number of channels
RenderTable["CloseAfterRender"] - true, close rendering to file-dialog after render; false, don't close it
RenderTable["Dither"] - &1, dither master mix; &2, noise shaping master mix; &4, dither stems; &8, dither noise shaping stems
RenderTable["EmbedMetaData"] - Embed metadata; true, checked; false, unchecked
RenderTable["EmbedStretchMarkers"] - Embed stretch markers/transient guides; true, checked; false, unchecked
RenderTable["EmbedTakeMarkers"] - Embed Take markers; true, checked; false, unchecked
RenderTable["Enable2ndPassRender"] - true, 2nd pass render is enabled; false, 2nd pass render is disabled
RenderTable["Endposition"] - the endposition of the rendering selection in seconds
RenderTable["MultiChannelFiles"] - Multichannel tracks to multichannel files-checkbox; true, checked; false, unchecked
RenderTable["NoSilentRender"] - Do not render files that are likely silent-checkbox; true, checked; false, unchecked
RenderTable["OfflineOnlineRendering"] - Offline/Online rendering-dropdownlist; 0, Full-speed Offline; 1, 1x Offline; 2, Online Render; 3, Online Render(Idle); 4, Offline Render(Idle)
RenderTable["OnlyMonoMedia"] - Tracks with only mono media to mono files-checkbox; true, checked; false, unchecked
RenderTable["ProjectSampleRateFXProcessing"] - Use project sample rate for mixing and FX/synth processing-checkbox; true, checked; false, unchecked
RenderTable["RenderFile"] - the contents of the Directory-inputbox of the Render to File-dialog
RenderTable["RenderPattern"] - the render pattern as input into the File name-inputbox of the Render to File-dialog
RenderTable["RenderQueueDelay"] - Delay queued render to allow samples to load-checkbox; true, checked; false, unchecked
RenderTable["RenderQueueDelaySeconds"] - the amount of seconds for the render-queue-delay
RenderTable["RenderResample"] - Resample mode-dropdownlist; 0, Medium (64pt Sinc); 1, Low (Linear Interpolation); 2, Lowest (Point Sampling); 3, Good (192pt Sinc); 4, Better (348 pt Sinc); 5, Fast (IIR + Linear Interpolation); 6, Fast (IIRx2 + Linear Interpolation); 7, Fast (16pt Sinc); 8, HQ (512 pt); 9, Extreme HQ(768pt HQ Sinc)
RenderTable["RenderString"] - the render-cfg-string, that holds all settings of the currently set render-output-format as BASE64 string
RenderTable["RenderString2"] - the render-cfg-string, that holds all settings of the currently set secondary-render-output-format as BASE64 string
RenderTable["RenderTable"]=true - signals, this is a valid render-table
RenderTable["SampleRate"] - the samplerate of the rendered file(s)
RenderTable["SaveCopyOfProject"] - the "Save copy of project to outfile.wav.RPP"-checkbox; true, checked; false, unchecked
RenderTable["SilentlyIncrementFilename"] - Silently increment filenames to avoid overwriting-checkbox; true, checked; false, unchecked
RenderTable["Source"] - 0, Master mix; 1, Master mix + stems; 3, Stems (selected tracks); 8, Region render matrix; 16, Tracks with only Mono-Media to Mono Files; 32, Selected media items; 64, selected media items via master; 128, selected tracks via master
RenderTable["Startposition"] - the startposition of the rendering selection in seconds
RenderTable["TailFlag"] - in which bounds is the Tail-checkbox checked? &1, custom time bounds; &2, entire project; &4, time selection; &8, all project regions; &16, selected media items; &32, selected project regions
RenderTable["TailMS"] - the amount of milliseconds of the tail

Returns false in case of an error

Returnvalues:
 boolean retval true, setting the render-settings was successful; false, it wasn't successful 

Parameters:
 RenderTable RenderTable a RenderTable, that contains all render-dialog-settings 
 optional boolean apply_rendercfg_string true or nil, apply it as well; false, don't apply it 


^ Reaper version 6.20Ultraschall version 4.2Lua version 5.3 ^ ApplyRenderTable_ProjectFile

Functioncall:

boolean retval, string ProjectStateChunk = ultraschall.ApplyRenderTable_ProjectFile(RenderTable RenderTable, string projectfilename_with_path, optional boolean apply_rendercfg_string, optional string ProjectStateChunk)

Description:
Sets all stored render-settings from a RenderTable as the current project-settings.

Expected table is of the following structure:
RenderTable["AddToProj"] - Add rendered items to new tracks in project-checkbox; true, checked; false, unchecked
RenderTable["Bounds"] - 0, Custom time range; 1, Entire project; 2, Time selection; 3, Project regions; 4, Selected Media Items(in combination with Source 32); 5, Selected regions
RenderTable["Channels"] - the number of channels in the rendered file; 1, mono; 2, stereo; higher, the number of channels
RenderTable["CloseAfterRender"] - close rendering to file-dialog after render; ignored, as this can't be set in projectfiles
RenderTable["Dither"] - &1, dither master mix; &2, noise shaping master mix; &4, dither stems; &8, dither noise shaping stems
RenderTable["EmbedMetaData"] - Embed metadata; true, checked; false, unchecked
RenderTable["EmbedStretchMarkers"] - Embed stretch markers/transient guides; true, checked; false, unchecked
RenderTable["EmbedTakeMarkers"] - Embed Take markers; true, checked; false, unchecked
RenderTable["Endposition"] - the endposition of the rendering selection in seconds
RenderTable["Enable2ndPassRender"] - true, 2nd pass render is enabled; false, 2nd pass render is disabled
RenderTable["MultiChannelFiles"] - Multichannel tracks to multichannel files-checkbox; true, checked; false, unchecked
RenderTable["NoSilentRender"] - Do not render files that are likely silent-checkbox; true, checked; false, unchecked
RenderTable["OfflineOnlineRendering"] - Offline/Online rendering-dropdownlist; 0, Full-speed Offline; 1, 1x Offline; 2, Online Render; 3, Online Render(Idle); 4, Offline Render(Idle);
RenderTable["OnlyMonoMedia"] - Tracks with only mono media to mono files-checkbox; true, checked; false, unchecked
RenderTable["ProjectSampleRateFXProcessing"] - Use project sample rate for mixing and FX/synth processing-checkbox; true, checked; false, unchecked
RenderTable["RenderFile"] - the contents of the Directory-inputbox of the Render to File-dialog
RenderTable["RenderPattern"] - the render pattern as input into the File name-inputbox of the Render to File-dialog
RenderTable["RenderQueueDelay"] - Delay queued render to allow samples to load-checkbox
RenderTable["RenderQueueDelaySeconds"] - the amount of seconds for the render-queue-delay
RenderTable["RenderResample"] - Resample mode-dropdownlist; 0, Medium (64pt Sinc); 1, Low (Linear Interpolation); 2, Lowest (Point Sampling); 3, Good (192pt Sinc); 4, Better (348 pt Sinc); 5, Fast (IIR + Linear Interpolation); 6, Fast (IIRx2 + Linear Interpolation); 7, Fast (16pt Sinc); 8, HQ (512 pt); 9, Extreme HQ(768pt HQ Sinc)
RenderTable["RenderString"] - the render-cfg-string, that holds all settings of the currently set render-output-format as BASE64 string
RenderTable["RenderString2"] - the render-cfg-string, that holds all settings of the currently set secondary-render-output-format as BASE64 string
RenderTable["RenderTable"]=true - signals, this is a valid render-table
RenderTable["SampleRate"] - the samplerate of the rendered file(s)
RenderTable["SaveCopyOfProject"] - the "Save copy of project to outfile.wav.RPP"-checkbox; ignored, as this can't be stored in projectfiles
RenderTable["SilentlyIncrementFilename"] - Silently increment filenames to avoid overwriting-checkbox; ignored, as this can't be stored in projectfiles
RenderTable["Source"] - 0, Master mix; 1, Master mix + stems; 3, Stems (selected tracks); 8, Region render matrix; 16, Tracks with only Mono-Media to Mono Files; 32, Selected media items; 64, selected media items via master; 128, selected tracks via master
RenderTable["Startposition"] - the startposition of the rendering selection in seconds
RenderTable["TailFlag"] - in which bounds is the Tail-checkbox checked? &1, custom time bounds; &2, entire project; &4, time selection; &8, all project regions; &16, selected media items; &32, selected project regions
RenderTable["TailMS"] - the amount of milliseconds of the tail

Returns false in case of an error

Returnvalues:
 boolean retval true, setting the render-settings was successful; false, it wasn't successful 
 string ProjectStateChunk the altered project/ProjectStateChunk as a string 

Parameters:
 RenderTable RenderTable a RenderTable, that contains all render-dialog-settings 
 string projectfilename_with_path the rpp-projectfile, to which you want to apply the RenderTable; nil, to use parameter ProjectStateChunk instead 
 optional boolean apply_rendercfg_string true or nil, apply it as well; false, don't apply it 
 optional parameter ProjectStateChunk the ProjectStateChunkk, to which you want to apply the RenderTable 


^ Reaper version 6.20Ultraschall version 4.2Lua version 5.3 ^ CreateNewRenderTable

Functioncall:

RenderTable RenderTable = ultraschall.CreateNewRenderTable(optional integer Source, optional integer Bounds, optional number Startposition, optional number Endposition, optional integer TailFlag, optional integer TailMS, optional string RenderFile, optional string RenderPattern, optional integer SampleRate, optional integer Channels, optional integer OfflineOnlineRendering, optional boolean ProjectSampleRateFXProcessing, optional integer RenderResample, optional boolean OnlyMonoMedia, optional boolean MultiChannelFiles, optional integer Dither, optional string RenderString, optional boolean SilentlyIncrementFilename, optional boolean AddToProj, optional boolean SaveCopyOfProject, optional boolean RenderQueueDelay, optional integer RenderQueueDelaySeconds, optional boolean CloseAfterRender, optional boolean EmbedStretchMarkers, optional string RenderString2, optional boolean EmbedTakeMarkers, optional boolean DoNotSilentRender, optional boolean EmbedMetadata, optional boolean Enable2ndPassRender)

Description:
Creates a new RenderTable.

Parameters set to nil will create a rendertable with all entries set to that of a vanilla factory-default Reaper installation:

Factory-Default will be set to these settings:
          RenderTable["AddToProj"]=false
          RenderTable["Bounds"]=1
          RenderTable["Channels"]=2
          RenderTable["CloseAfterRender"]=true
          RenderTable["Dither"]=0
          RenderTable["EmbedMetaData"]=false
          RenderTable["EmbedStretchMarkers"]=false
          RenderTable["EmbedTakeMarkers"]=false
          RenderTable["Enable2ndPassRender"]=false
          RenderTable["Endposition"]=0
          RenderTable["MultiChannelFiles"]=false
          RenderTable["NoSilentRender"]=false
          RenderTable["OfflineOnlineRendering"]=0
          RenderTable["OnlyMonoMedia"]=false
          RenderTable["ProjectSampleRateFXProcessing"]=true
          RenderTable["RenderFile"]=""
          RenderTable["RenderPattern"]=""
          RenderTable["RenderQueueDelay"]=false
          RenderTable["RenderQueueDelaySeconds"]=0
          RenderTable["RenderResample"]=3
          RenderTable["RenderString"]=""
          RenderTable["RenderString2"]=""
          RenderTable["RenderTable"]=true
          RenderTable["SampleRate"]=44100
          RenderTable["SaveCopyOfProject"]=false
          RenderTable["SilentlyIncrementFilename"]=true
          RenderTable["Source"]=0
          RenderTable["Startposition"]=0
          RenderTable["TailFlag"]=18
          RenderTable["TailMS"]=1000

Returns nil in case of an error

Returnvalues:
 RenderTable RenderTable the created RenderTable 

Parameters:
 optional integer Source The Source-dropdownlist;
0, Master mix(default)
1, Master mix + stems
3, Stems (selected tracks)
8, Region render matrix
32, Selected media items
256, Embed stretch markers/transient guides-checkbox=on; optional, as parameter EmbedStretchMarkers is meant for that 
 optional integer Bounds The Bounds-dropdownlist
0, Custom time range
1, Entire project(default)
2, Time selection
3, Project regions
4, Selected Media Items(in combination with Source 32)
5, Selected regions 
 optional number Startposition the startposition of the render-section in seconds; only used when Bounds=0(Custom time range); default=0 
 optional number Endposition the endposition of the render-section in seconds; only used when Bounds=0(Custom time range); default=0 
 optional integer TailFlag in which bounds is the Tail-checkbox checked? (default=18)
&1, custom time bounds
&2, entire project
&4, time selection
&8, all project regions
&16, selected media items
&32, selected project regions 
 optional integer TailMS the amount of milliseconds of the tail(default=1000) 
 optional string RenderFile the contents of the Directory-inputbox of the Render to File-dialog; default="" 
 optional string RenderPattern the render pattern as input into the File name-inputbox of the Render to File-dialog; set to "" if you don't want to use it; default="" 
 optional integer SampleRate the samplerate of the rendered file(s); default=44100 
 optional integer Channels the number of channels in the rendered file;
1, mono
2, stereo(default)
3 and higher, the number of channels 
 optional integer OfflineOnlineRendering Offline/Online rendering-dropdownlist
0, Full-speed Offline(default)
1, 1x Offline
2, Online Render
3, Online Render(Idle)
4, Offline Render(Idle) 
 optional boolean ProjectSampleRateFXProcessing Use project sample rate for mixing and FX/synth processing-checkbox; true(default), checked; false, unchecked 
 optional integer RenderResample Resample mode-dropdownlist
0, Medium (64pt Sinc)
1, Low (Linear Interpolation)
2, Lowest (Point Sampling)
3, Good (192pt Sinc) (default)
4, Better (348 pt Sinc)
5, Fast (IIR + Linear Interpolation)
6, Fast (IIRx2 + Linear Interpolation)
7, Fast (16pt Sinc)
8, HQ (512 pt)
9, Extreme HQ(768pt HQ Sinc) 
 optional boolean OnlyMonoMedia Tracks with only mono media to mono files-checkbox; true, checked; false, unchecked(default) 
 optional boolean MultiChannelFiles Multichannel tracks to multichannel files-checkbox; true, checked; false, unchecked(default) 
 optional integer Dither the Dither/Noise shaping-checkboxes; default=0
&1, dither master mix
&2, noise shaping master mix
&4, dither stems
&8, dither noise shaping stems 
 optional string RenderString the render-cfg-string, that holds all settings of the currently set render-output-format as BASE64 string
default is "ZXZhdw==" = WAV, 24 bit PCM, Auto WAV/Wave 64, WriteBWFChunk checked,
Include project filename in BWF unchecked, Do not include markers or regions, Embed tempo unchecked. 
 optional boolean SilentlyIncrementFilename Silently increment filenames to avoid overwriting-checkbox; default=true 
 optional boolean AddToProj Add rendered items to new tracks in project-checkbox; true, checked; false, unchecked(default) 
 optional boolean SaveCopyOfProject the "Save copy of project to outfile.wav.RPP"-checkbox; default=false 
 optional boolean RenderQueueDelay Delay queued render to allow samples to load-checkbox; default=false 
 optional integer RenderQueueDelaySeconds the amount of seconds for the render-queue-delay; default=0 
 optional boolean CloseAfterRender true, closes rendering to file-dialog after render(default); false, doesn't close it 
 optional boolean EmbedStretchMarkers true, Embed stretch markers/transient guides-checkbox=on; false or nil, Embed stretch markers/transient guides"-checkbox=off(default) 
 optional string RenderString2 the render-string for the secondary rendering; default="" 
 optional boolean EmbedTakeMarkers the "Take markers"-checkbox; true, checked; false, unchecked(default) 
 optional boolean DoNotSilentRender the "Do not render files that are likely silent"-checkbox; true, checked; false, unchecked(default) 
 optional boolean EmbedMetadata the "Embed metadata"-checkbox; true, checked; false, unchecked(default) 
 optional boolean Enable2ndPassRender true, 2nd pass render is enabled; false, 2nd pass render is disabled 


^ Reaper version 5.975Ultraschall version 4.00SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ GetRender_SaveCopyOfProject

Functioncall:

boolean retval = ultraschall.GetRender_SaveCopyOfProject()

Description:
Gets the current state of the "Save copy of project to outfile.wav.RPP"-checkbox from the Render to File-dialog.

Returns false in case of an error

Returnvalues:
 boolean retval true, checkbox is checked; false, checkbox is unchecked 



^ Reaper version 5.975Ultraschall version 4.00SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ SetRender_QueueDelay

Functioncall:

boolean retval = ultraschall.SetRender_QueueDelay(boolean state, integer length)

Description:
Sets the "Delay queued render to allow samples to load"-checkbox of the Render to File-dialog.

Returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, it was unsuccessful 

Parameters:
 boolean state true, check the checkbox; false, uncheck the checkbox 
 integer length the number of seconds the delay shall be 


^ Reaper version 5.975Ultraschall version 4.00SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ SetRender_SaveCopyOfProject

Functioncall:

boolean retval = ultraschall.SetRender_SaveCopyOfProject(boolean state)

Description:
Sets the "Save copy of project to outfile.wav.RPP"-checkbox of the Render to File-dialog.

Returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, it was unsuccessful 

Parameters:
 boolean state true, check the checkbox; false, uncheck the checkbox 


^ Reaper version 5.975Ultraschall version 4.00SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ GetRender_QueueDelay

Functioncall:

boolean retval, integer length = ultraschall.GetRender_QueueDelay()

Description:
Gets the current checkstate of the "Delay queued render to allow samples to load"-checkbox from the Render to File-dialog,
as well as the length of the queue-render-delay.

Returnvalues:
 boolean state true, check the checkbox; false, uncheck the checkbox 
 integer length the number of seconds the delay shall be 



^ Reaper version 5.975Ultraschall version 4.00SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ SetRender_ProjectSampleRateForMix

Functioncall:

boolean retval = ultraschall.SetRender_ProjectSampleRateForMix(boolean state)

Description:
Sets the "Use project sample rate for mixing and FX/synth processing"-checkbox of the Render to File-dialog.

Returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, it was unsuccessful 

Parameters:
 boolean state true, check the checkbox; false, uncheck the checkbox 


^ Reaper version 5.975Ultraschall version 4.00SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ GetRender_ProjectSampleRateForMix

Functioncall:

boolean retval = ultraschall.GetRender_ProjectSampleRateForMix()

Description:
Gets the current state of the "Use project sample rate for mixing and FX/synth processing"-checkbox from the Render to File-dialog.

Returnvalues:
 boolean state true, check the checkbox; false, uncheck the checkbox 



^ Reaper version 5.975Ultraschall version 4.00SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ SetRender_AutoIncrementFilename

Functioncall:

boolean retval = ultraschall.SetRender_AutoIncrementFilename(boolean state)

Description:
Gets the current state of the "Silently increment filenames to avoid overwriting"-checkbox from the Render to File-dialog.

Returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, it was unsuccessful 

Parameters:
 boolean state true, check the checkbox; false, uncheck the checkbox 


^ Reaper version 5.975Ultraschall version 4.00SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ GetRender_AutoIncrementFilename

Functioncall:

boolean retval = ultraschall.GetRender_AutoIncrementFilename()

Description:
Gets the current state of the "Silently increment filenames to avoid overwriting"-checkbox from the Render to File-dialog.

Returnvalues:
 boolean state true, check the checkbox; false, uncheck the checkbox 



^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetRenderPreset_Names

Functioncall:

integer bounds_presets, table bounds_names, integer options_format_presets, table options_format_names, integer both_presets, table both_names = ultraschall.GetRenderPreset_Names()

Description:
Returns all render-preset-names for a) Bounds and output pattern/filename b) Options and format c) both presets, who share the same name

Returnvalues:
 integer bounds_presets the number of found bounds and output-pattern-presets 
 table bounds_names the names of all found bounds and output-pattern-presets 
 integer options_format_presets the number of found options and format-presets 
 table options_format_names the names of all found options and format-presets 
 integer both_presets the number of found presets, who both share the same name 
 table both_names the names of all found presets, who both share the same name 



^ Reaper version 6.20Ultraschall version 4.2Lua version 5.3 ^ GetRenderPreset_RenderTable

Functioncall:

RenderTable RenderTable = ultraschall.GetRenderPreset_RenderTable(string Bounds_Name, string Options_and_Format_Name)

Description:
returns a rendertable, that contains all settings of a specific render-preset.

use GetRenderPreset_Names to get the available render-preset-names.

Some settings aren't stored in Presets and will get default values:
TailMS=0, SilentlyIncrementFilename=false, AddToProj=false, SaveCopyOfProject=false, RenderQueueDelay=false, RenderQueueDelaySeconds=false, NoSilentRender=false

returned table if of the following format:

RenderTable["AddToProj"] - Add rendered items to new tracks in project-checkbox; always false, as this isn't stored in render-presets
RenderTable["Bounds"] - 0, Custom time range; 1, Entire project; 2, Time selection; 3, Project regions; 4, Selected Media Items(in combination with Source 32); 5, Selected regions
RenderTable["Channels"] - the number of channels in the rendered file; 1, mono; 2, stereo; higher, the number of channels
RenderTable["CloseAfterRender"] - close rendering to file-dialog after rendering; always true, as this isn't stored in render-presets
RenderTable["Dither"] - &1, dither master mix; &2, noise shaping master mix; &4, dither stems; &8, dither noise shaping stems
RenderTable["EmbedMetaData"] - Embed metadata; true, checked; false, unchecked
RenderTable["EmbedStretchMarkers"] - Embed stretch markers/transient guides; true, checked; false, unchecked
RenderTable["EmbedTakeMarkers"] - Embed Take markers; true, checked; false, unchecked
RenderTable["Enable2ndPassRender"] - true, 2nd pass render is enabled; false, 2nd pass render is disabled
RenderTable["Endposition"] - the endposition of the rendering selection in seconds
RenderTable["MultiChannelFiles"] - Multichannel tracks to multichannel files-checkbox; true, checked; false, unchecked
RenderTable["OfflineOnlineRendering"] - Offline/Online rendering-dropdownlist; 0, Full-speed Offline; 1, 1x Offline; 2, Online Render; 3, Online Render(Idle); 4, Offline Render(Idle)
RenderTable["OnlyMonoMedia"] - Tracks with only mono media to mono files-checkbox; true, checked; false, unchecked
RenderTable["NoSilentRender"] - Do not render files that are likely silent-checkbox; can't be set in render-presets, therefore always set to false
RenderTable["ProjectSampleRateFXProcessing"] - Use project sample rate for mixing and FX/synth processing-checkbox; true, checked; false, unchecked
RenderTable["RenderFile"] - the contents of the Directory-inputbox of the Render to File-dialog
RenderTable["RenderPattern"] - the render pattern as input into the File name-inputbox of the Render to File-dialog
RenderTable["RenderQueueDelay"] - Delay queued render to allow samples to load-checkbox; always false, as this isn't stored in render-presets
RenderTable["RenderQueueDelaySeconds"] - the amount of seconds for the render-queue-delay; always 0, as this isn't stored in render-presets
RenderTable["RenderResample"] - Resample mode-dropdownlist; 0, Medium (64pt Sinc); 1, Low (Linear Interpolation); 2, Lowest (Point Sampling); 3, Good (192pt Sinc); 4, Better (348 pt Sinc); 5, Fast (IIR + Linear Interpolation); 6, Fast (IIRx2 + Linear Interpolation); 7, Fast (16pt Sinc); 8, HQ (512 pt); 9, Extreme HQ(768pt HQ Sinc)
RenderTable["RenderString"] - the render-cfg-string, that holds all settings of the currently set render-output-format as BASE64 string
RenderTable["RenderString2"] - the render-cfg-string, that holds all settings of the currently set secondary-render-output-format as BASE64 string
RenderTable["RenderTable"]=true - signals, this is a valid render-table
RenderTable["SampleRate"] - the samplerate of the rendered file(s)
RenderTable["SaveCopyOfProject"] - the "Save copy of project to outfile.wav.RPP"-checkbox; always false, as this isn't stored in render-presets
RenderTable["SilentlyIncrementFilename"] - Silently increment filenames to avoid overwriting-checkbox; always true, as this isn't stored in Presets
RenderTable["Source"] - 0, Master mix; 1, Master mix + stems; 3, Stems (selected tracks); 8, Region render matrix; 16, Tracks with only Mono-Media to Mono Files; 32, Selected media items; 64, selected media items via master; 128, selected tracks via master
RenderTable["Startposition"] - the startposition of the rendering selection in seconds
RenderTable["TailFlag"] - in which bounds is the Tail-checkbox checked? &1, custom time bounds; &2, entire project; &4, time selection; &8, all project regions; &16, selected media items; &32, selected project regions
RenderTable["TailMS"] - the amount of milliseconds of the tail; always 0, as this isn't stored in render-presets


Returns nil in case of an error

Returnvalues:
 RenderTable RenderTable a render-table, which contains all settings from a render-preset 

Parameters:
 string Bounds_Name the name of the Bounds-render-preset you want to get 
 string Options_and_Format_Name the name of the Renderformat-options-render-preset you want to get 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ DeleteRenderPreset_Bounds

Functioncall:

boolean retval = ultraschall.DeleteRenderPreset_Bounds(string Bounds_Name)

Description:
deletes a Bounds-render-preset from Reaper's render-presets.

This deletes all(!) occurrences of the Bounds-render-preset with the same name.
Though, you shouldn't store multiple Bounds-render-presets with the same name into reaper-render.ini in the first place.

use GetRenderPreset_Names to get the available render-preset-names.

Returns false in case of an error

Returnvalues:
 boolean retval true, deleting was successful; false, deleting was unsuccessful 

Parameters:
 string Bounds_Name the name of the Bounds-render-preset you want to get 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ DeleteRenderPreset_FormatOptions

Functioncall:

boolean retval = ultraschall.DeleteRenderPreset_FormatOptions(string Options_and_Format_Name)

Description:
deletes a Render-Format-Options-render-preset from Reaper's render-presets.

This deletes all(!) occurrences of the Render-Format-Options-render-preset with the same name.
Though, you shouldn't store multiple Render-Format-Options-render-preset with the same name into reaper-render.ini in the first place.

use GetRenderPreset_Names to get the available render-preset-names.

Returns false in case of an error

Returnvalues:
 boolean retval true, deleting was successful; false, deleting was unsuccessful 

Parameters:
 string Options_and_Format_Name the name of the Renderformat-options-render-preset you want to get 


^ Reaper version 6.20Ultraschall version 4.2Lua version 5.3 ^ AddRenderPreset

Functioncall:

boolean retval = ultraschall.AddRenderPreset(string Bounds_Name, string Options_and_Format_Name, RenderTable RenderTable)

Description:
adds a new render-preset into reaper-render.ini.

This function will check, whether the chosen names are already in use.

Added render-presets are available after (re-)opening in the Render to File-dialog    

Note: You can choose, whether to include only Bounds, only RenderFormatOptions of both. The Bounds and the RenderFormatOptions store different parts of the render-presets.

Some settings aren't stored in Presets and will get default values:
TailMS=0, SilentlyIncrementFilename=false, AddToProj=false, SaveCopyOfProject=false, RenderQueueDelay=false, RenderQueueDelaySeconds=false, NoSilentRender=false

Bounds_Name stores only:
         RenderTable["Bounds"] - the bounds-dropdownlist,
                                 0, Custom time range
                                 1, Entire project
                                 2, Time selection
                                 3, Project regions
                                 4, Selected Media Items(in combination with Source 32)
                                 5, Selected regions
         RenderTable["Startposition"] - the startposition of the render
         RenderTable["Endposition"] - the endposition of the render
         RenderTable["Source"] - the source dropdownlist, includes
                                 0, Master mix
                                 1, Master mix + stems
                                 3, Stems (selected tracks)
                                 8, Region render matrix
                                 32, Selected media items
                                 64, selected media items via master
                                 128, selected tracks via master
         "0"    - unknown, default setting is 0
         RenderTable["RenderPattern"] - the renderpattern, which hold also the wildcards
         RenderTable["TailFlag"] - in which bounds is the Tail-checkbox checked?
                                 &1, custom time bounds
                                 &2, entire project
                                 &4, time selection
                                 &8, all project regions
                                 &16, selected media items
                                 &32, selected project regions

Options_and_Format_Name stores only:
         RenderTable["SampleRate"] - the samplerate, with which to render; 0, use project-settings
         RenderTable["Channels"] - the number of channels for the output-file
         RenderTable["OfflineOnlineRendering"] - the offline/online-dropdownlist
                                 0, Full-speed Offline
                                 1, 1x Offline
                                 2, Online Render
                                 3, Online Render(Idle)
                                 4, Offline Render(Idle);
         RenderTable["ProjectSampleRateFXProcessing"] - Use project sample rate for mixing and FX/synth processing-checkbox; 1, checked; 0, unchecked
         RenderTable["RenderResample"] - Resample mode-dropdownlist;
                                 0, Medium (64pt Sinc)
                                 1, Low (Linear Interpolation)
                                 2, Lowest (Point Sampling)
                                 3, Good (192pt Sinc)
                                 4, Better (348 pt Sinc)
                                 5, Fast (IIR + Linear Interpolation)
                                 6, Fast (IIRx2 + Linear Interpolation)
                                 7, Fast (16pt Sinc)
                                 8, HQ (512 pt)
                                 9, Extreme HQ(768pt HQ Sinc)
         RenderTable["Dither"] - the Dither/Noise shaping-checkboxes:
                                 &1, dither master mix
                                 &2, noise shaping master mix
                                 &4, dither stems
                                 &8, dither noise shaping stems
         RenderTable["MultiChannelFiles"] - multichannel-files-checkbox
         RenderTable["OnlyMonoMedia"] - only mono media-checkbox
         RenderTable["EmbedMetaData"] - Embed metadata; true, checked; false, unchecked
         RenderTable["EmbedStretchMarkers"] - Embed stretch markers/transient guides-checkbox
RenderTable["EmbedTakeMarkers"] - Embed Take markers-checkbox
         RenderTable["Enable2ndPassRender"] - true, 2nd pass render is enabled; false, 2nd pass render is disabled
         RenderTable["RenderString"] - the render-cfg-string, which holds the render-outformat-settings
         RenderTable["RenderString2"] - the render-cfg-string, which holds the secondary render-outformat-settings

Returns false in case of an error

Returnvalues:
 boolean retval true, adding was successful; false, adding was unsuccessful 

Parameters:
 string Bounds_Name the name of the Bounds-render-preset you want to add; nil, to not add a new Bounds-render-preset 
 string Options_and_Format_Name the name of the Renderformat-options-render-preset you want to add; to not add a new Render-Format-Options-render-preset 
 RenderTable RenderTable the RenderTable, which holds all information for inclusion into the Render-Preset 


^ Reaper version 6.20Ultraschall version 4.2Lua version 5.3 ^ SetRenderPreset

Functioncall:

boolean retval = ultraschall.SetRenderPreset(string Bounds_Name, string Options_and_Format_Name, RenderTable RenderTable)

Description:
sets an already existing render-preset in reaper-render.ini.

This function will check, whether the chosen names aren't given yet in any preset.

Changed render-presets are updated after (re-)opening in the Render to File-dialog    

Note: You can choose, whether to include only Bounds, only RenderFormatOptions of both. The Bounds and the RenderFormatOptions store different parts of the render-presets.

Some settings aren't stored in Presets and will get default values:
TailMS=0, SilentlyIncrementFilename=false, AddToProj=false, SaveCopyOfProject=false, RenderQueueDelay=false, RenderQueueDelaySeconds=false, NoSilentRender=false

Bounds_Name stores only:
         RenderTable["Bounds"] - the bounds-dropdownlist,
                                 0, Custom time range
                                 1, Entire project
                                 2, Time selection
                                 3, Project regions
                                 4, Selected Media Items(in combination with Source 32)
                                 5, Selected regions
         RenderTable["Startposition"] - the startposition of the render
         RenderTable["Endposition"] - the endposition of the render
         RenderTable["Source"]+RenderTable["MultiChannelFiles"]+RenderTable["OnlyMonoMedia"] - the source dropdownlist, includes
                                 0, Master mix
                                 1, Master mix + stems
                                 3, Stems (selected tracks)
                                 &4, Multichannel tracks to multichannel files
                                 8, Region render matrix
                                 &16, Tracks with only mono media to mono files
                                 32, Selected media items
                                 64, selected media items via master
                                 128, selected tracks via master
         "0"    - unknown, default setting is 0
         RenderTable["RenderPattern"] - the renderpattern, which hold also the wildcards
         RenderTable["TailFlag"] - in which bounds is the Tail-checkbox checked?
                                 &1, custom time bounds
                                 &2, entire project
                                 &4, time selection
                                 &8, all project regions
                                 &16, selected media items
                                 &32, selected project regions

Options_and_Format_Name stores only:
         RenderTable["SampleRate"] - the samplerate, with which to render; 0, use project-settings
         RenderTable["Channels"] - the number of channels for the output-file
         RenderTable["OfflineOnlineRendering"] - the offline/online-dropdownlist
                                 0, Full-speed Offline
                                 1, 1x Offline
                                 2, Online Render
                                 3, Online Render(Idle)
                                 4, Offline Render(Idle);
         RenderTable["ProjectSampleRateFXProcessing"] - Use project sample rate for mixing and FX/synth processing-checkbox; 1, checked; 0, unchecked
         RenderTable["RenderResample"] - Resample mode-dropdownlist;
                                 0, Medium (64pt Sinc)
                                 1, Low (Linear Interpolation)
                                 2, Lowest (Point Sampling)
                                 3, Good (192pt Sinc)
                                 4, Better (348 pt Sinc)
                                 5, Fast (IIR + Linear Interpolation)
                                 6, Fast (IIRx2 + Linear Interpolation)
                                 7, Fast (16pt Sinc)
                                 8, HQ (512 pt)
                                 9, Extreme HQ(768pt HQ Sinc)
         RenderTable["Dither"] - the Dither/Noise shaping-checkboxes:
                                 &1, dither master mix
                                 &2, noise shaping master mix
                                 &4, dither stems
                                 &8, dither noise shaping stems
         RenderTable["EmbedMetaData"] - Embed metadata; true, checked; false, unchecked  
         RenderTable["EmbedStretchMarkers"] - Embed stretch markers/transient guides-checkbox
         RenderTable["EmbedTakeMarkers"] - Embed Take markers-checkbox
         RenderTable["Enable2ndPassRender"] - true, 2nd pass render is enabled; false, 2nd pass render is disabled
         RenderTable["RenderString"] - the render-cfg-string, which holds the render-outformat-settings
         RenderTable["RenderString2"] - the render-cfg-string, which holds the secondary render-outformat-settings; "" to remove it from this preset

Returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 string Bounds_Name the name of the Bounds-render-preset you want to add; nil, to not add a new Bounds-render-preset 
 string Options_and_Format_Name the name of the Renderformat-options-render-preset you want to add; to not add a new Render-Format-Options-render-preset 
 RenderTable RenderTable the RenderTable, which holds all information for inclusion into the Render-Preset 


^ Reaper version 6.20Ultraschall version 4.2SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ RenderProject_RenderTable

Functioncall:

integer count, array MediaItemStateChunkArray, array Filearray = ultraschall.RenderProject_RenderTable(optional string projectfilename_with_path, optional RenderTable RenderTable, optional boolean AddToProj, optional boolean CloseAfterRender, optional boolean SilentlyIncrementFilename)

Description:
Renders a projectfile or the current active project, using the settings from a RenderTable.

Expected RenderTable is of the following structure:
RenderTable["AddToProj"] - Add rendered items to new tracks in project-checkbox; true, checked; false, unchecked
RenderTable["Bounds"] - 0, Custom time range; 1, Entire project; 2, Time selection; 3, Project regions; 4, Selected Media Items(in combination with Source 32); 5, Selected regions
RenderTable["Channels"] - the number of channels in the rendered file; 1, mono; 2, stereo; higher, the number of channels
RenderTable["CloseAfterRender"] - true, close rendering to file-dialog after render; false, don't close it
RenderTable["Dither"] - &1, dither master mix; &2, noise shaping master mix; &4, dither stems; &8, dither noise shaping stems
RenderTable["EmbedMetaData"] - Embed metadata; true, checked; false, unchecked
RenderTable["EmbedStretchMarkers"] - Embed stretch markers/transient guides; true, checked; false, unchecked
RenderTable["Enable2ndPassRender"] - true, 2nd pass render is enabled; false, 2nd pass render is disabled
RenderTable["Endposition"] - the endposition of the rendering selection in seconds
RenderTable["MultiChannelFiles"] - Multichannel tracks to multichannel files-checkbox; true, checked; false, unchecked
RenderTable["OfflineOnlineRendering"] - Offline/Online rendering-dropdownlist; 0, Full-speed Offline; 1, 1x Offline; 2, Online Render; 3, Online Render(Idle); 4, Offline Render(Idle)
RenderTable["OnlyMonoMedia"] - Tracks with only mono media to mono files-checkbox; true, checked; false, unchecked
RenderTable["ProjectSampleRateFXProcessing"] - Use project sample rate for mixing and FX/synth processing-checkbox; true, checked; false, unchecked
RenderTable["RenderFile"] - the contents of the Directory-inputbox of the Render to File-dialog
RenderTable["RenderPattern"] - the render pattern as input into the File name-inputbox of the Render to File-dialog
RenderTable["RenderQueueDelay"] - Delay queued render to allow samples to load-checkbox; true, checked; false, unchecked
RenderTable["RenderQueueDelaySeconds"] - the amount of seconds for the render-queue-delay
RenderTable["RenderResample"] - Resample mode-dropdownlist; 0, Medium (64pt Sinc); 1, Low (Linear Interpolation); 2, Lowest (Point Sampling); 3, Good (192pt Sinc); 4, Better (348 pt Sinc); 5, Fast (IIR + Linear Interpolation); 6, Fast (IIRx2 + Linear Interpolation); 7, Fast (16pt Sinc); 8, HQ (512 pt); 9, Extreme HQ(768pt HQ Sinc)
RenderTable["RenderString"] - the render-cfg-string, that holds all settings of the currently set render-output-format as BASE64 string
RenderTable["RenderString2"] - the render-cfg-string, that holds all settings of the currently set secondary-render-output-format as BASE64 string
RenderTable["RenderTable"]=true - signals, this is a valid render-table
RenderTable["SampleRate"] - the samplerate of the rendered file(s)
RenderTable["SaveCopyOfProject"] - the "Save copy of project to outfile.wav.RPP"-checkbox; true, checked; false, unchecked
RenderTable["SilentlyIncrementFilename"] - Silently increment filenames to avoid overwriting-checkbox; true, checked; false, unchecked
RenderTable["Source"] - 0, Master mix; 1, Master mix + stems; 3, Stems (selected tracks); 8, Region render matrix; 16, Tracks with only Mono-Media to Mono Files; 32, Selected media items; 64, selected media items via master; 128, selected tracks via master
RenderTable["Startposition"] - the startposition of the rendering selection in seconds
RenderTable["TailFlag"] - in which bounds is the Tail-checkbox checked? &1, custom time bounds; &2, entire project; &4, time selection; &8, all project regions; &16, selected media items; &32, selected project regions
RenderTable["TailMS"] - the amount of milliseconds of the tail

Returns -1 in case of an error

Returnvalues:
 integer count the number of files that have been rendered 
 array MediaItemStateChunkArray the MediaItemStateChunks of all the rendered files 
 array Filearray filenames with path of all rendered files 

Parameters:
 optional string projectfilename_with_path the projectfilename with path of the rpp-file that you want to render; nil, to render the current active project 
 optional RenderTable RenderTable the RenderTable with all render-settings, that you want to apply; nil, use the project's existing settings 
 optional boolean AddToProj true, add the rendered files to the project; nil or false, don't add them;
will overwrite the settings in the RenderTable; will default to true, if no RenderTable is passed
only has an effect, when rendering the current active project 
 optional boolean CloseAfterRender true or nil, closes rendering to file-dialog after rendering is finished; false, keep it open
will overwrite the settings in the RenderTable; will default to true, if no RenderTable is passed 
 optional boolean SilentlyIncrementFilename true or nil, silently increment filename, when file already exists; false, ask for overwriting
will overwrite the settings in the RenderTable; will default to true, if no RenderTable is passed 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ GetRenderQueuedProjects

Functioncall:

integer Filecount, array Filearray = ultraschall.GetRenderQueuedProjects()

Description:
Gets the number and names of files currently in the render-queue

Returnvalues:
 integer Filecount the number of project-files in the render-queue 
 array Filearray filenames with path of all queued-projectfiles 



^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ AddProjectFileToRenderQueue

Functioncall:

boolean retval = ultraschall.AddProjectFileToRenderQueue(string projectfilename_with_path)

Description:
Adds a projectfile or the current active project to the render-queue

returns false in case of an error

Returnvalues:
 boolean retval true, adding was successful; false, adding was unsuccessful 

Parameters:
 string projectfilename_with_path the projectfile, that you want to add to the render-queue; nil, to add the current active project 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ RenderProject_RenderQueue

Functioncall:

boolean retval = ultraschall.RenderProject_RenderQueue(integer index)

Description:
Renders a specific project from the render-queue.

See GetRenderQueuedProjects to get the names of the currently existing render-queue-projects, where the filename-order reflects the index needed for this function.

returns false in case of an error

Returnvalues:
 boolean retval false, a problem occurred; true, rendering went through; returns true as well, when rendering is aborted! 

Parameters:
 integer index the index of the render-queued-project; beginning with 1; -1 to render all projects in the render-queue 


^ Reaper version 6.04Ultraschall version 4.00SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ RenderProject

Functioncall:

integer retval, integer renderfilecount, array MediaItemStateChunkArray, array Filearray = ultraschall.RenderProject(string projectfilename_with_path, string renderfilename_with_path, number startposition, number endposition, boolean overwrite_without_asking, boolean renderclosewhendone, boolean filenameincrease, optional string rendercfg, optional string rendercfg2)

Description:
Renders a project, using a specific render-cfg-string.
To get render-cfg-strings, see functions starting with CreateRenderCFG_, like CreateRenderCFG_AIFF, CreateRenderCFG_DDP, CreateRenderCFG_FLAC, CreateRenderCFG_OGG, CreateRenderCFG_Opus, etc.

Will use the render-settings currently set in projectfilename_with_path/the currently active project, except bound(set to Custom time range), render file and render-pattern, as they are set by this function!

Returns -1 in case of an error

Returnvalues:
 integer retval -1, in case of error; 0, in case of success 
 integer renderfilecount the number of rendered files 
 array MediaItemStateChunkArray the MediaItemStateChunks of all rendered files, with the one in entry 1 being the rendered master-track(when rendering stems+master) 
 array Filearray the filenames of the rendered files, including their paths. The filename in entry 1 is the one of the mastered track(when rendering stems+master) 

Parameters:
 string projectfilename_with_path the project to render; nil, for the currently opened project 
 string renderfilename_with_path the filename with path of the output-file. If you give the wrong extension, Reaper will exchange it by the correct one.
You can use wildcards to some extend in the actual filename(not the path!)
note: parameter overwrite_without_asking only works, when you give the right extension and use no wildcards, due API-limitations! 
 number startposition the startposition of the render-area in seconds;
-1, to use the startposition set in the projectfile itself;
-2, to use the start of the time-selection 
 number endposition the endposition of the render-area in seconds;
-1, to use the endposition set in the projectfile/current project itself
-2, to use the end of the time-selection 
 boolean overwrite_without_asking true, overwrite an existing renderfile; false, don't overwrite an existing renderfile
works only, when renderfilename_with_path has the right extension given and when not using wildcards(due API-limitations)! 
 boolean renderclosewhendone true, automatically close the render-window after rendering; false, keep rendering window open after rendering; nil, use current settings 
 boolean filenameincrease true, silently increase filename, if it already exists; false, ask before overwriting an already existing outputfile; nil, use current settings 
 optional string rendercfg the rendercfg-string, that contains all render-settings for an output-format
To get render-cfg-strings, see CreateRenderCFG_xxx-functions, like: CreateRenderCFG_AIFF, CreateRenderCFG_DDP, CreateRenderCFG_FLAC, CreateRenderCFG_OGG, CreateRenderCFG_Opus, CreateRenderCFG_WAVPACK, CreateRenderCFG_WebMVideo

If you want to render the current project, you can use a four-letter-version of the render-string; will use the default settings for that format. Not available with projectfiles!
"evaw" for wave, "ffia" for aiff, " iso" for audio-cd, " pdd" for ddp, "calf" for flac, "l3pm" for mp3, "vggo" for ogg, "SggO" for Opus, "PMFF" for FFMpeg-video, "FVAX" for MP4Video/Audio on Mac, " FIG" for Gif, " FCL" for LCF, "kpvw" for wavepack  
 optional string rendercfg2 just like rendercfg, but for the secondary render-format 


^ Reaper version 6.04Ultraschall version 4.00Lua version 5.3 ^ RenderProject_Regions

Functioncall:

integer retval, integer renderfilecount, array MediaItemStateChunkArray, array Filearray = ultraschall.RenderProject_Regions(string projectfilename_with_path, string renderfilename_with_path, integer region, boolean addregionname, boolean overwrite_without_asking, boolean renderclosewhendone, boolean filenameincrease, string rendercfg, optional string addregionnameseparator, optional string rendercfg2)

Description:
Renders a region of a project, using a specific render-cfg-string.
To get render-cfg-strings, see CreateRenderCFG_AIFF, CreateRenderCFG_DDP, CreateRenderCFG_FLAC, CreateRenderCFG_OGG, CreateRenderCFG_Opus

Returns -1 in case of an error

Returnvalues:
 integer retval -1, in case of error; 0, in case of success 
 integer renderfilecount the number of rendered files 
 array MediaItemStateChunkArray the MediaItemStateChunks of all rendered files, with the one in entry 1 being the rendered master-track(when rendering stems) 
 array Filearray the filenames of the rendered files, including their paths. The filename in entry 1 is the one of the mastered track(when rendering stems) 

Parameters:
 string projectfilename_with_path the project to render; nil, for the currently opened project 
 string renderfilename_with_path the filename of the output-file.
You can use wildcards to some extend in the actual filename(not the path!); doesn't support $region yet
Will be seen as path only, when you set addregionname=true and addregionnameseparator="/" 
 integer region the number of the region in the Projectfile to render 
 boolean addregionname add the name of the region to the renderfilename; only works, when you don't add a file-extension to renderfilename_with_path 
 boolean overwrite_without_asking true, overwrite an existing renderfile; false, don't overwrite an existing renderfile 
 boolean renderclosewhendone true, automatically close the render-window after rendering; false, keep rendering window open after rendering; nil, use current settings 
 boolean filenameincrease true, silently increase filename, if it already exists; false, ask before overwriting an already existing outputfile; nil, use current settings 
 string rendercfg the rendercfg-string, that contains all render-settings for an output-format
To get render-cfg-strings, see CreateRenderCFG_xxx-functions, like: CreateRenderCFG_AIFF, CreateRenderCFG_DDP, CreateRenderCFG_FLAC, CreateRenderCFG_OGG, CreateRenderCFG_Opus, CreateRenderCFG_WAVPACK, CreateRenderCFG_WebMVideo

If you want to render the current project, you can use a four-letter-version of the render-string; will use the default settings for that format. Not available with projectfiles!
"evaw" for wave, "ffia" for aiff, " iso" for audio-cd, " pdd" for ddp, "calf" for flac, "l3pm" for mp3, "vggo" for ogg, "SggO" for Opus, "PMFF" for FFMpeg-video, "FVAX" for MP4Video/Audio on Mac, " FIG" for Gif, " FCL" for LCF, "kpvw" for wavepack  
 optional string addregionnameseparator when addregionname==true, this parameter allows you to set a separator between renderfilename_with_path and regionname.
Also allows / or \\ to use renderfilename_with_path as only path as folder, into which the files are stored having the regionnames only.
Default is an empty string. 
 optional string rendercfg2 the render-cfg-string for secondary render-format 


^ Reaper version 5.979Ultraschall version 4.00Lua version 5.3 ^ AddSelectedItemsToRenderQueue

Functioncall:

boolean retval, integer num_queued_projects = ultraschall.AddSelectedItemsToRenderQueue(optional boolean render_items_individually, optional boolean render_items_through_master, optional RenderTable RenderTables)

Description:
Adds the selected MediaItems to the render-queue.

returns false in case of an error

Returnvalues:
 boolean retval true, adding was successful; false, adding was unsuccessful 
 integer num_queued_projects the number of newly created projects in the render-queue 

Parameters:
 optional boolean render_items_individually false or nil, render all selected MediaItems in one render-queued-project; true, render all selected MediaItems individually as separate Queued-projects 
 optional boolean render_items_through_master false or nil, just render the MediaItems; true, render the MediaItems through the Master-channel 
 optional RenderTable RenderTables a RenderTable to apply for the renders in the render-queue 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_MP3MaxQuality

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_MP3MaxQuality(optional boolean write_replay_gain)

Description:
Creates the render-cfg-string for the MP3-format with highest quality-settings. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returnvalues:
 string render_cfg_string the renderstring for MP3 with maximum quality 

Parameters:
 optional boolean write_replay_gain the "Write ReplayGain-tag"-checkbox; true, checked; false, unchecked; default is unchecked 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_MP3VBR

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_MP3VBR(integer vbr_quality, integer quality, optional boolean no_joint_stereo, optional boolean write_replay_gain)

Description:
Creates the render-cfg-string for the MP3-format with variable bitrate. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Returnvalues:
 string render_cfg_string the render-cfg-string for the selected MP3-VBR-settings 

Parameters:
 integer vbr_quality the variable-bitrate quality; 1(for 10%) to 10(for 100%) 
 integer quality the encoding speed for the mp3
0, Maximum
1, Better
2, Normal
3, FastEncode
4, FasterEncode
5, FastestEncode 
 optional boolean no_joint_stereo the "Do not allow joint stereo"-checkbox; true, checked; false, unchecked; default is unchecked 
 optional boolean write_replay_gain the "Write ReplayGain-tag"-checkbox; true, checked; false, unchecked; default is unchecked 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_MP3ABR

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_MP3ABR(integer bitrate, integer quality, optional boolean no_joint_stereo, optional boolean write_replay_gain)

Description:
Creates the render-cfg-string for the MP3-format with average bitrate. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Returnvalues:
 string render_cfg_string the render-cfg-string for the selected MP3-ABR-settings 

Parameters:
 integer bitrate the encoding quality for the mp3
0, 8 kbps
1, 16 kbps
2, 24 kbps
3, 32 kbps
4, 40 kbps
5, 48 kbps
6, 56 kbps
7, 64 kbps
8, 80 kbps
9, 96 kbps
10, 112 kbps
11, 128 kbps
12, 160 kbps
13, 192 kbps
14, 224 kbps
15, 256 kbps
16, 320 kbps 
 integer quality the encoding speed for the mp3
0, Maximum
1, Better
2, Normal
3, FastEncode
4, FasterEncode
5, FastestEncode 
 optional boolean no_joint_stereo the "Do not allow joint stereo"-checkbox; true, checked; false, unchecked; default is unchecked 
 optional boolean write_replay_gain the "Write ReplayGain-tag"-checkbox; true, checked; false, unchecked; default is unchecked 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_MP3CBR

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_MP3CBR(integer bitrate, integer quality, optional boolean no_joint_stereo, optional boolean write_replay_gain)

Description:
Creates the render-cfg-string for the MP3-format with constant bitrate. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Returnvalues:
 string render_cfg_string the render-cfg-string for the selected MP3-CBR-settings 

Parameters:
 integer bitrate the encoding quality for the mp3
0, 8 kbps
1, 16 kbps
2, 24 kbps
3, 32 kbps
4, 40 kbps
5, 48 kbps
6, 56 kbps
7, 64 kbps
8, 80 kbps
9, 96 kbps
10, 112 kbps
11, 128 kbps
12, 160 kbps
13, 192 kbps
14, 224 kbps
15, 256 kbps
16, 320 kbps 
 integer quality the encoding speed for the mp3
0, Maximum
1, Better
2, Normal
3, FastEncode
4, FasterEncode
5, FastestEncode 
 optional boolean no_joint_stereo the "Do not allow joint stereo"-checkbox; true, checked; false, unchecked; default is unchecked 
 optional boolean write_replay_gain the "Write ReplayGain-tag"-checkbox; true, checked; false, unchecked; default is unchecked 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_WAV

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_WAV(integer BitDepth, integer LargeFiles, integer BWFChunk, integer IncludeMarkers, boolean EmbedProjectTempo)

Description:
Creates the render-cfg-string for the WAV-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Returnvalues:
 string render_cfg_string the render-cfg-string for the selected WAV-settings 

Parameters:
 integer BitDepth the bitdepth of the WAV-file
0, 8 Bit PCM
1, 16 Bit PCM
2, 24 Bit PCM
3, 32 Bit FP
4, 64 Bit FP
5, 4 Bit IMA ADPCM
6, 2 Bit cADPCM 
 integer LargeFiles how shall Reaper treat large WAV-files
0, Auto WAV/Wave64
1, Auto Wav/RF64
2, Force WAV
3, Force Wave64
4, Force RF64 
 integer BWFChunk Write BWF ('bext') chunk and Include project filename in BWF data - checkboxes
0, unchecked - unchecked
1, checked - unchecked
2, unchecked - checked
3, checked - checked 
 integer IncludeMarkers The include markerlist-dropdownlist
0, Do not include markers and regions
1, Markers + regions
2, Markers + regions starting with #
3, Markers only
4, Markers starting with # only
5, Regions only
6, Regions starting with # only 
 boolean EmbedProjectTempo Embed tempo-checkbox; true, checked; false, unchecked 


^ Reaper version 5.977Ultraschall version 4.00SWS version 2.10.0.1Lua version 5.3 ^ GetLastUsedRenderPatterns

Functioncall:

array last_render_patterns = ultraschall.GetLastUsedRenderPatterns()

Description:
returns the last 12 used render-patterns, that have been used for rendering by any project in Reaper.

Returnvalues:
 array last_render_patterns a table, which holds the last 12 used render-patterns, used by any project in Reaper 



^ Reaper version 5.977Ultraschall version 4.00SWS version 2.10.0.1Lua version 5.3 ^ GetLastRenderPaths

Functioncall:

array last_render_paths = ultraschall.GetLastRenderPaths()

Description:
returns the last 20 used render-output-paths, that have been used for rendering by any project in Reaper.

Returnvalues:
 array last_render_paths a table, which holds the last 20 used render-output-paths, used by any project in Reaper 



^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ IsReaperRendering

Functioncall:

boolean retval, optional number render_position, optional number render_projectlength, optional ReaProject proj, optional boolean queue_render = ultraschall.IsReaperRendering()

Description:
Returns, if Reaper is currently rendering and the rendering position and projectlength of the rendered project

Returnvalues:
 boolean retval true, Reaper is rendering; false, Reaper does not render 
 optional number render_position the current rendering-position of the rendering project 
 optional number render_projectlength the length of the currently rendering project 
 optional ReaProject proj the project currently rendering 
 optional boolean queue_render true, if a project from the queued-folder is currently being rendered; false, if not; a hint if queued-rendering is currently active 



^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_AIFF

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_AIFF(integer bits, optional boolean EmbedBeatLength)

Description:
Returns the render-cfg-string for the AIFF-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

Returns nil in case of an error

Returnvalues:
 string render_cfg_string the render-cfg-string for the selected AIFF-settings 

Parameters:
 integer bits the bitdepth of the aiff-file; 8, 16, 24 and 32 are supported 
 optional boolean EmbedBeatLength Embed beat length if exact-checkbox; true, checked; false or nil, unchecked 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ CreateRenderCFG_AudioCD

Functioncall:

string render_cfg_string = ultraschall.CreateRenderCFG_AudioCD(integer trackmode, boolean only_markers_starting_with_hash, integer leadin_silence_tracks, integer leadin_silence_disc, boolean burncd_image_after_render)

Description:
Returns the render-cfg-string for the AudioCD-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini

You can also check, whether to burn the created cd-image after rendering.

Returns nil in case of an error

Returnvalues:
 string render_cfg_string the render-cfg-string for the selected AudioCD-image-settings 

Parameters:
 integer trackmode Track mode-dropdownlist: 1, Markers define new track; 2, Regions define tracks (other areas ignored); 3, One Track 
 boolean only_markers_starting_with_hash Only use markers starting with #-checkbox; true, checked; false, unchecked 
 integer leadin_silence_tracks Lead-in silence for tracks-inputbox, in milliseconds 
 integer leadin_silence_disc Extra lead-in silence for disc-inputbox, in milliseconds 
 boolean burncd_image_after_render Burn CD image after render-checkbox; true, checked; false, unchecked 


^ Reaper version 6.02Ultraschall version 4.00SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ GetRender_EmbedStretchMarkers

Functioncall:

boolean retval = ultraschall.GetRender_EmbedStretchMarkers()

Description:
Gets the current state of the "Embed stretch markers/transient guides"-checkbox from the Render to File-dialog.

Returnvalues:
 boolean state true, check the checkbox; false, uncheck the checkbox 



^ Reaper version 6.02Ultraschall version 4.00SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ SetRender_EmbedStretchMarkers

Functioncall:

boolean retval = ultraschall.SetRender_EmbedStretchMarkers(boolean state)

Description:
Sets the new state of the "Embed stretch markers/transient guides"-checkbox from the Render to File-dialog.

Returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, it was unsuccessful 

Parameters:
 boolean state true, check the checkbox; false, uncheck the checkbox 


^ Reaper version 6.02Ultraschall version 4.00SWS version 2.10.0.1Julian Sader's plugin version 0.998Lua version 5.3 ^ Render_Loop

Functioncall:

integer count, array MediaItemStateChunkArray, array Filearray = ultraschall.Render_Loop(table RenderTable, string RenderFilename, boolean AutoIncrement, number FirstStart, number FirstEnd, number SecondStart, number SecondEnd, number FadeIn, number FadeOut, integer FadeInShape, integer FadeOutShape)

Description:
Renders a part of a project using 2 passes. Good for rendering loops, including wetloops.

The first pass will be set by FirstStart and FirstStart. This is the one for possible fx-buildups(reverbs, etc).
The second pass will be set by SecondStart and SecondEnd. This is the one, which "crops" the first-pass to its correct length.

You can also influence the second pass by setting fadein and fadeout, including the fadein/fadeout-shape.
That way, you can control, how the beginning and the end of the loop-item sounds.

SecondStart and SecondEnd are in relation of the original source project. SecondStart is from the beginning of the source-project, NOT FirstStart!

returns -1 in case of an error

Returnvalues:
 integer count the number of rendered files 
 array MediaItemStateChunkArray all MediaItemStateChunks within an array 
 array Filearray all rendered filenames including path 

Parameters:
 table RenderTable the RenderTable, which holds the render-settings for the second pass 
 string RenderFilename the filename with path of the final rendered file 
 boolean AutoIncrement true, autoincrement the filename(if it already exists); false, ask before rendering(if file already exists) 
 number FirstStart the beginning of the first-pass-render in seconds 
 number FirstEnd the end of the first-pass-render in seconds 
 number SecondStart the beginning of the second-pass-render in seconds 
 number SecondEnd the end of the second-pass-render in seconds 
 number FadeIn the length of the fade-in in the second-pass-render and therefore the final rendered file in seconds 
 number FadeOut the length of the fade-out in the second-pass-render and therefore the final rendered file in seconds 
 integer FadeInShape the shape of the fade-in-curve; fadein shape, 0..6, 0=linear 
 integer FadeOutShape the shape of the fade-out-curve; fadeout shape, 0..6, 0=linear 


^ Reaper version 6.11Ultraschall version 4.1SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ GetRender_EmbedMetaData

Functioncall:

boolean retval = ultraschall.GetRender_EmbedMetaData()

Description:
Gets the current state of the "Embed metadata"-checkbox from the Render to File-dialog.

Returnvalues:
 boolean state true, check the checkbox; false, uncheck the checkbox 



^ Reaper version 6.11Ultraschall version 4.1SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ SetRender_EmbedMetaData

Functioncall:

boolean retval = ultraschall.SetRender_EmbedMetaData(boolean state)

Description:
Sets the new state of the "Embed metadata"-checkbox from the Render to File-dialog.

Returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, it was unsuccessful 

Parameters:
 boolean state true, check the checkbox; false, uncheck the checkbox 


^ Reaper version 5.975Ultraschall version 4.00SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ SetRender_OfflineOnlineMode

Functioncall:

boolean retval = ultraschall.SetRender_OfflineOnlineMode(integer mode)

Description:
sets the current mode of the offline/online-render-dropdownlist from the Render to File-dialog

Returns false in case of an error

Returnvalues:
 boolean retval true, setting it was successful; false, setting it was unsuccessful 

Parameters:
 integer mode the mode, that you want to set
0, Full-speed Offline
1, 1x Offline
2, Online Render
3, Offline Render (Idle)
4, 1x Offline Render (Idle) 


^ Reaper version 5.975Ultraschall version 4.00SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ GetRender_OfflineOnlineMode

Functioncall:

integer mode = ultraschall.GetRender_OfflineOnlineMode()

Description:
gets the current mode of the offline/online-render-dropdownlist from the Render to File-dialog

Returnvalues:
 integer mode the mode, that is set
0, Full-speed Offline
1, 1x Offline
2, Online Render
3, Offline Render (Idle)
4, 1x Offline Render (Idle) 



^ Reaper version 5.975Ultraschall version 4.00SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ GetRender_ResampleMode

Functioncall:

integer mode = ultraschall.GetRender_ResampleMode()

Description:
gets the current mode of the "Resample mode (if needed)"-dropdownlist from the Render to File-dialog

Returnvalues:
 integer mode the mode, that is set
  0, Medium (64pt Sinc),
  1, Low (Linear Interpolation),
  2, Lowest (Point Sampling),
  3, Good(192pt Sinc),
  4, Better(384pt Sinc),
  5, Fast (IIR + Linear Interpolation),
  6, Fast (IIRx2 + Linear Interpolation),
  7, Fast (16pt sinc) - Default,
  8, HQ (512pt Sinc),
  9, Extreme HQ (768pt HQ Sinc) 



^ Reaper version 5.975Ultraschall version 4.00SWS version 2.10.0.1Julian Sader's plugin version 0.972Lua version 5.3 ^ SetRender_ResampleMode

Functioncall:

boolean retval = ultraschall.SetRender_ResampleMode(integer mode)

Description:
sets the current mode of the "Resample mode (if needed)"-dropdownlist from the Render to File-dialog

Returns false in case of an error

Returnvalues:
 boolean retval true, setting it was successful; false, setting it was unsuccessful 

Parameters:
 integer mode the mode, that is set
  0, Medium (64pt Sinc),
  1, Low (Linear Interpolation),
  2, Lowest (Point Sampling),
  3, Good(192pt Sinc),
  4, Better(384pt Sinc),
  5, Fast (IIR + Linear Interpolation),
  6, Fast (IIRx2 + Linear Interpolation),
  7, Fast (16pt sinc) - Default,
  8, HQ (512pt Sinc),
  9, Extreme HQ (768pt HQ Sinc) 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ GetRender_NoSilentFiles

Functioncall:

boolan curcheckstate = ultraschall.GetRender_NoSilentFiles()

Description:
Returns the current check-state of the "Do not render files that are likely silent"-checkbox of the Render to File-dialog

Returnvalues:
 boolean curcheckstate true, checkbox is checked; false, checkbox is unchecked 



^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ SetRender_NoSilentFiles

Functioncall:

boolan retval = ultraschall.SetRender_NoSilentFiles(boolean state)

Description:
Sets the current check-state of the "Do not render files that are likely silent"-checkbox of the Render to File-dialog

returns false in case of an error

Returnvalues:
 boolean retval true, setting checkbox was successful; false, setting checkbox was unsuccessful 

Parameters:
 boolean state true, checkbox is checked; false, checkbox is unchecked 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ GetRender_AddRenderedFilesToProject

Functioncall:

boolan curcheckstate = ultraschall.GetRender_AddRenderedFilesToProject()

Description:
Returns the current check-state of the "Add rendered items to new tracks in project"-checkbox of the Render to File-dialog

Returnvalues:
 boolean curcheckstate true, checkbox is checked; false, checkbox is unchecked 



^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ SetRender_AddRenderedFilesToProject

Functioncall:

boolan retval = ultraschall.SetRender_AddRenderedFilesToProject(boolean state)

Description:
Sets the current check-state of the "Add rendered items to new tracks in project"-checkbox of the Render to File-dialog

returns false in case of an error

Returnvalues:
 boolean retval true, setting checkbox was successful; false, setting checkbox was unsuccessful 

Parameters:
 boolean state true, checkbox is checked; false, checkbox is unchecked 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ GetRender_TailLength

Functioncall:

integer taillength_ms = ultraschall.GetRender_TailLength()

Description:
Returns the current tail-length in ms, as set in the Render to File-dialog

Returnvalues:
 integer taillength_ms the current taillength in ms 



^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ SetRender_TailLength

Functioncall:

boolan retval = ultraschall.SetRender_TailLength(boolean state)

Description:
Sets the tail-length, as set in the Render to File-dialog

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer taillength the taillength in milliseconds 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetAllThemeLayoutNames

Functioncall:

integer index, table ThemeLayoutNames= ultraschall.GetAllThemeLayoutNames()

Description:
returns all layout-names and values of the current theme

the table ThemeLayoutNames is of the following format:

ThemeLayoutNames[parameter_index]["layout section"] - the name of the layout-section of the parameter
ThemeLayoutNames[parameter_index]["value"] - the value of the parameter
ThemeLayoutNames[parameter_index]["description"] - the description of the parameter

returns nil in case of an error

Returnvalues:
 integer index the number of theme-layout-parameters available 
 table ThemeLayoutParameters a table with all theme-layout-parameter available in the current theme 



^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetAllThemeLayoutParameters

Functioncall:

integer index, table ThemeLayoutParameters = ultraschall.GetAllThemeLayoutParameters()

Description:
returns all theme-layout-parameter attributes of the current theme

the table ThemeLayoutParameters is of the following format:

ThemeLayoutParameters[parameter_index]["name"] - the name of the parameter
ThemeLayoutParameters[parameter_index]["description"] - the description of the parameter
ThemeLayoutParameters[parameter_index]["value"] - the value of the parameter
ThemeLayoutParameters[parameter_index]["value default"] - the defult value of the parameter
ThemeLayoutParameters[parameter_index]["value min"] - the minimum value of the parameter
ThemeLayoutParameters[parameter_index]["value max"] - the maximum value of the parameter

returns nil in case of an error

Returnvalues:
 integer index the number of theme-layout-parameters available 
 table ThemeLayoutParameters a table with all theme-layout-parameter available in the current theme 



^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ ApplyAllThemeLayoutParameters

Functioncall:

boolean retval = ultraschall.ApplyAllThemeLayoutParameters(table ThemeLayoutParameters, boolean persist, boolean refresh)

Description:
allows applying all theme-layout-parameter-values from a ThemeLayoutParameters-table, as gettable by GetAllThemeLayoutParameters

the table ThemeLayoutParameters is of the following format:

ThemeLayoutParameters[parameter_index]["name"] - the name of the parameter
ThemeLayoutParameters[parameter_index]["description"] - the description of the parameter
ThemeLayoutParameters[parameter_index]["value"] - the value of the parameter
ThemeLayoutParameters[parameter_index]["value default"] - the defult value of the parameter
ThemeLayoutParameters[parameter_index]["value min"] - the minimum value of the parameter
ThemeLayoutParameters[parameter_index]["value max"] - the maximum value of the parameter

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 table ThemeLayoutParameters a table, which holds all theme-layout-parameter-values to apply; set values to nil to use default-value 
 boolean persist true, the new values shall be persisting; false, values will not be persisting and lost after theme-change/Reaper restart 
 boolean refresh true, refresh the theme to show the applied changes; false, don't refresh 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ GetThemeParameterIndexByName

Functioncall:

integer parameterindex, string retval, optional string desc, optional number value, optional number defValue, optional number minValue, optional number maxValue = ultraschall.GetThemeParameterIndexByName(string parametername)

Description:
allows getting a theme-parameter's values by its name

returns nil in case of an error

Returnvalues:
 integer parameterindex the index of the theme-parameter 
 string retval the name of the theme-parameter 
 optional string desc the description of the theme-parameter 
 optional number value the current value of the theme-parameter 
 optional number defValue the default value of the theme-parameter 
 optional number minValue the minimum-value of the theme-parameter 
 optional number maxValue the maximum-value of the theme-parameter 

Parameters:
 string parametername the name of the theme-parameter, whose attributes you want to get(default v6-Theme has usually paramX, where X is a number between 0 and 80, other themes may differ from that) 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ SetThemeParameterIndexByName

Functioncall:

boolean retval = ultraschall.SetThemeParameterIndexByName(string parametername, integer value, boolean persist, optional boolean strict)

Description:
allows setting the theme-parameter value by its name

returns nil in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 string parametername the name of the theme-parameter, whose attributes you want to set(default v6-Theme has usually paramX, where X is a number between 0 and 80, other themes may differ from that) 
 integer value the new value to set 
 boolean persist true, the new value shall persist; false, the new value shall only be used until Reaper is closed 
 optional boolean strict true or nil, only allow values within the minimum and maximum values of the parameter; false, allows setting values out of the range 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ GetThemeParameterIndexByDescription

Functioncall:

integer parameterindex, string retval, optional string desc, optional number value, optional number defValue, optional number minValue, optional number maxValue = ultraschall.GetThemeParameterIndexByDescription(string description)

Description:
allows getting a theme-parameter's values by its description

returns nil in case of an error

Returnvalues:
 integer parameterindex the index of the theme-parameter 
 string retval the name of the theme-parameter 
 optional string desc the description of the theme-parameter 
 optional number value the current value of the theme-parameter 
 optional number defValue the default value of the theme-parameter 
 optional number minValue the minimum-value of the theme-parameter 
 optional number maxValue the maximum-value of the theme-parameter 

Parameters:
 string description the description of the theme-parameter, whose attributes you want to get 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ SetThemeParameterIndexByDescription

Functioncall:

boolean retval = ultraschall.SetThemeParameterIndexByDescription(string description, integer value, boolean persist, optional boolean strict)

Description:
allows setting the theme-parameter value by its description

returns nil in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 string description the description of the theme-parameter, whose attributes you want to set 
 integer value the new value to set 
 boolean persist true, the new value shall persist; false, the new value shall only be used until Reaper is closed 
 optional boolean strict true or nil, only allow values within the minimum and maximum values of the parameter; false, allows setting values out of the range 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetHideTCPElement

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetHideTCPElement(string Layout, integer Element, boolean if_mixer_visible, boolean if_track_not_selected, boolean if_track_not_armed, boolean always_hide, boolean persist)

Description:
Hides/unhides elements from TCP when using the default Reaper 6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 string Layout the layout, whose element you want to hide/unhide; either "A", "B" or "C" 
 integer Element the element, whose hide-state you want to set
1, record arm
2, monitor
3, trackname
4, volume
5, routing
6, insert fx
7, envelope
8, pan and width
9, record mode
10, input
11, labels and values
12, meter values 
 boolean if_mixer_visible true, hide element, when mixer is visible; false, don't hide element, when mixer is visible 
 boolean if_track_not_selected true, hide element, when track is not selected; false, don't hide element when track is not selected 
 boolean if_track_not_armed true, hides element, when track is not armed; false, don't hide element when track is not armed 
 boolean always_hide true, always hides element; false, don't always hide element 
 boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetHideTCPElement

Functioncall:

boolean retval, boolean if_mixer_visible, boolean if_track_not_selected, boolean if_track_not_armed, boolean always_hide = ultraschall.Theme_Defaultv6_GetHideTCPElement(string Layout, integer Element)

Description:
Get the current hides/unhide-state of elements from TCP when using the default Reaper 6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, getting was successful; false, getting was unsuccessful 
 boolean if_mixer_visible true, element is hidden, when mixer is visible; false, element is not hidden, when mixer is visible 
 boolean if_track_not_selected true, element is hidden, when track is not selected; false, element is not hidden when track is not selected 
 boolean if_track_not_armed true, element is hidden, when track is not armed; false, element is not hidden when track is not armed 
 boolean always_hide true, element is always hidden; false, element isn't always hidden 

Parameters:
 string Layout the layout, whose element-hide/unhide-state you want to get; either "A", "B" or "C" 
 integer Element the element, whose hide-state you want to get
1, record arm
2, monitor
3, trackname
4, volume
5, routing
6, insert fx
7, envelope
8, pan and width
9, record mode
10, input
11, labels and values
12, meter values 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetTCPNameSize

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetTCPNameSize(string Layout, integer size, boolean persist)

Description:
Sets the size of the trackname-label in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 string Layout the layout, whose trackname-label-size you want to set; either "A", "B" or "C" 
 integer size the new size of the tcp-trackname-label
0, auto
1, 20
2, 50
3, 80
4, 110
5, 140
6, 170 
 boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetTCPNameSize

Functioncall:

integer size = ultraschall.Theme_Defaultv6_GetTCPNameSize(string Layout)

Description:
Gets the size of the trackname-label in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error

Returnvalues:
 integer size the current size of the tcp-trackname-label
0, auto
1, 20
2, 50
3, 80
4, 110
5, 140
6, 170 

Parameters:
 string Layout the layout, whose trackname-size you want to get; either "A", "B" or "C" 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetTCPVolumeSize

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetTCPVolumeSize(string Layout, integer size, boolean persist)

Description:
Sets the size of the volume in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 string Layout the layout, whose volume-size you want to set; either "A", "B" or "C" 
 integer size the new size of the tcp-volume
0, knob
1, 40
2, 70
3, 100
4, 130
5, 160
6, 190 
 boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetTCPVolumeSize

Functioncall:

integer size = ultraschall.Theme_Defaultv6_GetTCPVolumeSize(string Layout)

Description:
Gets the size of the volume in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error

Returnvalues:
 integer size the current size of the tcp-volume
0, knob
1, 40
2, 70
3, 100
4, 130
5, 160
6, 190 

Parameters:
 string Layout the layout, whose volume-size you want to get; either "A", "B" or "C" 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetTCPInputSize

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetTCPInputSize(string Layout, integer size, boolean persist)

Description:
Sets the size of the input in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 string Layout the layout, whose input-size you want to set; either "A", "B" or "C" 
 integer size the new size of the tcp-input
0, MIN
1, 25
2, 40
3, 60
4, 90
5, 150
6, 200 
 boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetTCPInputSize

Functioncall:

integer size = ultraschall.Theme_Defaultv6_GetTCPInputSize(string Layout)

Description:
Gets the size of the input in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error

Returnvalues:
 integer size the current size of the tcp-input
0, MIN
1, 25
2, 40
3, 60
4, 90
5, 150
6, 200 

Parameters:
 string Layout the layout, whose input-size you want to get; either "A", "B" or "C" 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetTCPMeterSize

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetTCPMeterSize(string Layout, integer size, boolean persist)

Description:
Sets the size of the meter in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 string Layout the layout, whose meter-size you want to set; either "A", "B" or "C" 
 integer size the new size of the tcp-meter
1, 4
2, 10
3, 20
4, 40
5, 80
6, 160
7, 320 
 boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetTCPMeterSize

Functioncall:

integer size = ultraschall.Theme_Defaultv6_GetTCPMeterSize(string Layout)

Description:
Gets the size of the meter in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error

Returnvalues:
 integer size the current size of the tcp-meter
1, 4
2, 10
3, 20
4, 40
5, 80
6, 160
7, 320 

Parameters:
 string Layout the layout, whose meter-size you want to get; either "A", "B" or "C" 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetTCPMeterLocation

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetTCPMeterLocation(string Layout, integer location, boolean persist)

Description:
Sets the location of the meter in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 string Layout the layout, whose meter-location you want to set; either "A", "B" or "C" 
 integer location the new location of the tcp-meter
1, LEFT
2, RIGHT
3, LEFT IF ARMED 
 boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetTCPMeterLocation

Functioncall:

integer location = ultraschall.Theme_Defaultv6_GetTCPMeterLocation(string Layout)

Description:
Gets the location of the meter in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error

Returnvalues:
 integer location the current location of the tcp-meter
1, Left
2, Right
3, Left if armed 

Parameters:
 string Layout the layout, whose meter-location you want to get; either "A", "B" or "C" 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetTCPFolderIndent

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetTCPFolderIndent(integer indent, boolean persist)

Description:
Sets the indentation of folders in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer indent the indentation-setting of tcp-folders
0, None
1, 1/8
2, 1/4
3, 1/2
4, 1
5, 2
6, MAX 
 boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetTCPFolderIndent

Functioncall:

integer indent = ultraschall.Theme_Defaultv6_GetTCPFolderIndent()

Description:
Gets the indentation of folders in the tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error

Returnvalues:
 integer indent the indentation-setting of tcp-folders
0, None
1, 1/8
2, 1/4
3, 1/2
4, 1
5, 2
6, MAX 



^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetTCPAlignControls

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetTCPAlignControls(integer size, boolean persist)

Description:
Sets the alignment of controls in tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer alignement the alignment-setting of tcp-controls
1, Folder Indent
2, Aligned
3, Extend Name 
 boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetTCPAlignControls

Functioncall:

integer alignement = ultraschall.Theme_Defaultv6_GetTCPAlignControls()

Description:
Gets the alignment of controls in the tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error

Returnvalues:
 integer alignement the alignment-setting of tcp-controls
1, Folder Indent
2, Aligned
3, Extend Name 



^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetMCPAlignControls

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetMCPAlignControls(integer alignement, boolean persist)

Description:
Sets the alignment of controls in mcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer alignement the alignment-setting of mcp-controls
1, Folder Indent
2, Aligned 
 boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetMCPAlignControls

Functioncall:

integer alignement = ultraschall.Theme_Defaultv6_GetMCPAlignControls()

Description:
Gets the alignment of controls in the mcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error

Returnvalues:
 integer alignement the alignment-setting of mcp-controls
1, Folder Indent
2, Aligned 



^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetTransSize

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetTransSize(integer size)

Description:
Sets the size of the transport-controls when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer size the transport-size
1, normal
2, 150%
3, 200% 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetTransSize

Functioncall:

integer size = ultraschall.Theme_Defaultv6_GetTransSize()

Description:
Gets the size of the transport-controls when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 integer size the transport-size
1, normal
2, 150%
3, 200% 



^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetTransPlayRateSize

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetTransPlayRateSize(integer size, boolean persist)

Description:
Sets the size of the playrate-slider in transport-controls when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer size the playrate-slidersize of transport-controls
0, Knob
1, 80
2, 130
3, 160
4, 200
5, 250
6, 310 
 boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetTransPlayRateSize

Functioncall:

integer size = ultraschall.Theme_Defaultv6_GetTransPlayRateSize()

Description:
Gets the size of the playrate-slider in transport-controls when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 integer size the playrate-slidersize of transport-controls
0, Knob
1, 80
2, 130
3, 160
4, 200
5, 250
6, 310 



^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetEnvNameSize

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetEnvNameSize(integer size, boolean persist)

Description:
Sets the size of the name in envelopes when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer size the size of the name in envelopes
0, Auto
1, 20
2, 50
3, 80
4, 110
5, 140
6, 170 
 boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetEnvNameSize

Functioncall:

integer size = ultraschall.Theme_Defaultv6_GetEnvNameSize()

Description:
Gets the size of the name in envelopes when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 integer size the size of the name in envelopes
0, Auto
1, 20
2, 50
3, 80
4, 110
5, 140
6, 170 



^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetEnvFaderSize

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetEnvFaderSize(integer size, boolean persist)

Description:
Sets the size of the faders in envelopes when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer size the size of the fader in envelopes
0, Knob
1, 40
2, 70
3, 100
4, 130
5, 160
6, 190 
 boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetEnvFaderSize

Functioncall:

integer size = ultraschall.Theme_Defaultv6_GetEnvFaderSize()

Description:
Gets the size of the faders in envelopes when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 integer size the size of the fader in envelopes
0, Knob
1, 40
2, 70
3, 100
4, 130
5, 160
6, 190 



^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetEnvFolderIndent

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetEnvFolderIndent(integer indentation, boolean persist)

Description:
Sets the indentation of the envelope in relation to the track-folder when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer indentation the indentation of the enveloper in relation to the track-folder
1, Don't match track folder indent
2, Match track folder indent 
 boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetEnvFolderIndent

Functioncall:

integer size = ultraschall.Theme_Defaultv6_GetEnvFolderIndent()

Description:
Gets the indentation of the envelope in relation to the track-folder when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 integer indentation the indentation of the enveloper in relation to the track-folder
1, Don't match track folder indent
2, Match track folder indent 



^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetEnvSize

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetEnvSize(integer size)

Description:
Sets the size of the envelope-controls when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer size the envelope-size
1, normal
2, 150%
3, 200% 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetEnvSize

Functioncall:

integer size = ultraschall.Theme_Defaultv6_GetEnvSize()

Description:
Gets the size of the envelope-controls when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 integer size the envelope-size
1, normal
2, 150%
3, 200% 



^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetMCPFolderIndent

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetMCPFolderIndent(integer indentation, boolean persist)

Description:
Sets the folder-indentation in mcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer indentation the indentation of folders in mcp
0, None
1, 1/8
2, 1/4
3, 1/2
4, 1
5, 2
6, Max 
 boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetMCPFolderIndent

Functioncall:

integer alignement = ultraschall.Theme_Defaultv6_GetMCPFolderIndent()

Description:
Gets the folder-indentaion in the mcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error

Returnvalues:
 integer indentation the indentation of folders in mcp
0, None
1, 1/8
2, 1/4
3, 1/2
4, 1
5, 2
6, Max 



^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetStyleMCPElement

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetStyleMCPElement(string Layout, integer Element, boolean if_track_selected, boolean if_track_not_selected, boolean if_track_armed, boolean if_track_not_armed, boolean persist)

Description:
Sets style of elements from MCP when using the default Reaper 6-theme when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 string Layout the layout, whose element you want to style-set; either "A", "B" or "C" 
 integer Element the element, whose style-state you want to set
1, extend with sidebar
2, Narrow form
3, Do meter expansion
4, Element labels 
 boolean if_track_selected true, if track is selected; false, if not 
 boolean if_track_not_selected true, if track is not selected; false, if not 
 boolean if_track_armed true, if track is armed; false, if not 
 boolean if_track_not_armed true, if track is unarmed; false, if not 
 boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetStyleMCPElement

Functioncall:

boolean retval, boolean is_track_is_selected, boolean if_track_not_selected, boolean is_track_is_armed, boolean if_track_not_armed = ultraschall.Theme_Defaultv6_GetStyleMCPElement(string Layout, integer Element)

Description:
Gets style of elements from MCP when using the default Reaper 6-theme when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, getting was successful; false, getting was unsuccessful 
 boolean if_track_selected true, if track is selected; false, if not 
 boolean if_track_not_selected true, if track is not selected; false, if not 
 boolean if_track_armed true, if track is armed; false, if not 
 boolean if_track_not_armed true, if track is unarmed; false, if not 

Parameters:
 string Layout the layout, whose element you want to style-get; either "A", "B" or "C" 
 integer Element the element, whose style-state you want to set
1, extend with sidebar
2, Narrow form
3, Do meter expansion
4, Element labels 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetMCPBorderStyle

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetMCPBorderStyle(string Layout, integer style, boolean persist)

Description:
Sets the style of the border of the mcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 string Layout the layout, whose mcp-borderstyle you want to set; either "A", "B" or "C" 
 integer style the new style of the border of the mcp
0, None
1, Left edge
2, Right edge
3, Root folders
4, Around folders 
 boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetMCPBorderStyle

Functioncall:

integer size = ultraschall.Theme_Defaultv6_GetMCPBorderStyle(string Layout)

Description:
Gets the style of the border of the mcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error

Returnvalues:
 integer style the current syle of the border of the mcp
0, None
1, Left edge
2, Right edge
3, Root folders
4, Around folders 

Parameters:
 string Layout the layout, whose mcp-borderstyle you want to get; either "A", "B" or "C" 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetMCPMeterExpansion

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetMCPMeterExpansion(string Layout, integer size, boolean persist)

Description:
Sets the size of the meter-expansion of the mcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 string Layout the layout, whose mcp-meter-expansion you want to set; either "A", "B" or "C" 
 integer size the new size of the meter-expansion of the mcp
0, None
1, +2 pixels
2, +4 pixels
3, +8 pixels 
 boolean persist true, this setting persists after restart of Reaper; false, this setting is only valid until closing Reaper 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetMCPMeterExpansion

Functioncall:

integer size = ultraschall.Theme_Defaultv6_GetMCPMeterExpansion(string Layout)

Description:
Gets the meter-expansion of the mcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns nil in case of an error

Returnvalues:
 integer size the new size of the meter-expansion of the mcp
0, None
1, +2 pixels
2, +4 pixels
3, +8 pixels 

Parameters:
 string Layout the layout, whose mcp-meter-expansion you want to get; either "A", "B" or "C" 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetMCPSizeAndLayout

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetMCPSizeAndLayout(integer tracknumber, string Layout, integer size)

Description:
Sets the size and layout of the mcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer tracknumber the number of the track, whose MCP-layout and size you want to set(no master track supported) 
 string Layout the new mcp-layout; either "A", "B" or "C" 
 integer size the new size of the mcp
1, normal
2, 150%
3, 200% 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_SetTCPSizeAndLayout

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_SetTCPSizeAndLayout(integer tracknumber, string Layout, integer size)

Description:
Sets the size and layout of the tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 integer tracknumber the number of the track, whose TCP-layout and size you want to set(no master track supported) 
 string Layout the new tcp-layout; either "A", "B" or "C" 
 integer size the new size of the mcp
1, normal
2, 150%
3, 200% 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetTCPSizeAndLayout

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_GetTCPSizeAndLayout(integer tracknumber, string Layout, integer size)

Description:
Gets the size and layout of the tcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 string Layout the current layout of the tcp; either "A", "B", "C" or ""(if no layout is set yet) 
 integer size the current size of the tcp
1, normal
2, 150%
3, 200% 

Parameters:
 integer tracknumber the number of the track, whose TCP-layout and size you want to get(no master track supported) 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ Theme_Defaultv6_GetMCPSizeAndLayout

Functioncall:

boolean retval = ultraschall.Theme_Defaultv6_GetMCPSizeAndLayout(integer tracknumber, string Layout, integer size)

Description:
Gets the size and layout of the mcp when using default v6-theme

This reflects the settings from the Theme-Adjuster.

returns false in case of an error

Returnvalues:
 string Layout the current layout of the mcp; either "A", "B", "C" or ""(if no layout is set yet) 
 integer size the current size of the mcp
1, normal
2, 150%
3, 200% 

Parameters:
 integer tracknumber the number of the track, whose MCP-layout and size you want to get(no master track supported) 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsValidTrackString

Functioncall:

boolean valid, integer count, array individual_tracknumbers = ultraschall.IsValidTrackString(string trackstring)

Description:
checks, whether a given trackstring is a valid one. Will also return all valid numbers, from trackstring, that can be used as tracknumbers, as an array.

returns false in case of an error

Returnvalues:
 boolean valid true, is a valid trackstring; false, is not a valid trackstring 
 integer count the number of entries found in trackstring 
 array individual_tracknumbers an array that contains all available tracknumbers 

Parameters:
 string trackstring the trackstring to check, if it's a valid one 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsValidTrackStateChunk

Functioncall:

boolean valid = ultraschall.IsValidTrackStateChunk(string TrackStateChunk)

Description:
returns, if a TrackStateChunk is a valid statechunk

returns false in case of an error

Returnvalues:
 boolean valid true, if the string is a valid statechunk; false, if not a valid statechunk 

Parameters:
 string TrackStateChunk a string to check, if it's a valid TrackStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CreateTrackString

Functioncall:

string trackstring = ultraschall.CreateTrackString(integer firstnumber, integer lastnumber, optional integer step)

Description:
returns a string with the all numbers from firstnumber to lastnumber, separated by a ,
e.g. firstnumber=4, lastnumber=8 -> 4,5,6,7,8

returns nil in case of an error

Returnvalues:
 string trackstring a string with all tracknumbers, separated by a , 

Parameters:
 integer firstnumber the number, with which the string starts 
 integer lastnumber the number, with which the string ends 
 integer step how many numbers shall be skipped inbetween. Can lead to a different lastnumber, when step is not 1! nil or invalid value=1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CreateTrackString_SelectedTracks

Functioncall:

string trackstring = ultraschall.CreateTrackString_SelectedTracks()

Description:
Creates a string with all numbers from selected tracks, separated by a ,

Returns an empty string, if no tracks are selected.

Returnvalues:
 string trackstring a string with the tracknumbers, separated by a string 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ InsertTrack_TrackStateChunk

Functioncall:

boolean retval, MediaTrack MediaTrack = ultraschall.InsertTrack_TrackStateChunk(string trackstatechunk)

Description:
Creates a new track at the end of the project and sets it's trackstate, using the parameter trackstatechunk.
Returns true, if it succeeded and the newly created MediaTrack.

Returnvalues:
 boolean retval true, if creation succeeded, false if not 
 MediaTrack MediaTrack the newly created track, as MediaItem-trackobject 

Parameters:
 string trackstatechunk the rpp-xml-Trackstate-Chunk, as created by reaper.GetTrackStateChunk or GetProject_TrackStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ RemoveDuplicateTracksInTrackstring

Functioncall:

integer retval, string trackstring, array trackstringarray, integer number_of_entries = ultraschall.RemoveDuplicateTracksInTrackstring(string trackstring)

Description:
Sorts tracknumbers in trackstring and throws out duplicates. It also throws out entries, that are no numbers.
Returns the "cleared" trackstring as string and as array, as well as the number of entries.

Returns -1 in case of failure.

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 string trackstring the cleared trackstring, -1 in case of error 
 array trackstringarray the "cleared" trackstring as an array 
 integer number_of_entries the number of entries in the trackstring 

Parameters:
 string trackstring the tracknumbers, separated by a comma 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ IsTrackObjectTracknumber

Functioncall:

boolean retval, integer tracknumber = ultraschall.IsTrackObjectTracknumber(MediaTrack track, integer tracknumber)

Description:
returns true, if MediaTrack has the tracknumber "tracknumber"; false if not.

Returns nil in case of error.

Returnvalues:
 boolean retval true if track is tracknumber, false if not 
 integer tracknumber the number of track, so in case of false, you know it's number 

Parameters:
 MediaTrack track the MediaTrack of which you want to check it's number 
 integer tracknumber the tracknumber you want to check for 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ InverseTrackstring

Functioncall:

string inv_trackstring = ultraschall.InverseTrackstring(string trackstring, integer limit)

Description:
returns a newtrackstring with numbers, that are NOT in trackstring, in the range between 0 and limit

returns -1 in case of error

Returnvalues:
 string inv_trackstring the tracknumbers, that are NOT in the parameter trackstring, from 0 to limit 

Parameters:
 string trackstring the tracknumbers, separated with a , 
 integer limit the maximum tracknumber to include. Use reaper.CountTracks(0) function to use the maximum tracks in current project 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountItemsInTrackStateChunk

Functioncall:

integer countitems = ultraschall.CountItemsInTrackStateChunk(string trackstatechunk)

Description:
returns the number of items in a trackstatechunk

returns -1 in case of error

Returnvalues:
 integer countitems number of items in the trackstatechunk 

Parameters:
 string trackstatechunk a trackstatechunk, as returned by reaper's api function reaper.GetTrackStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetItemStateChunkFromTrackStateChunk

Functioncall:

boolean retval, string mediaitemstatechunk = ultraschall.GetItemStateChunkFromTrackStateChunk(string trackstatechunk, integer idx)

Description:
Returns a mediaitemstatechunk of the idx'th item in trackstatechunk.

returns false in case of error

Returnvalues:
 boolean retval true in case of success, false in case of error 
 string mediaitemstatechunk number of items in the trackstatechunk 

Parameters:
 string trackstatechunk a trackstatechunk, as returned by reaper's api function reaper.GetTrackStateChunk 
 integer idx the number of the item you want to have returned as mediaitemstatechunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ AddMediaItemStateChunk_To_TrackStateChunk

Functioncall:

string trackstatechunk = ultraschall.AddMediaItemStateChunk_To_TrackStateChunk(string trackstatechunk, string mediaitemstatechunk)

Description:
Adds the item mediaitemstatechunk into trackstatechunk and returns this altered trackstatechunk.

returns nil in case of error

Returnvalues:
 string trackstatechunk the new trackstatechunk with mediaitemstatechunk added 

Parameters:
 string trackstatechunk a trackstatechunk, as returned by reaper's api function reaper.GetTrackStateChunk 
 string mediaitemstatechunk a mediaitemstatechunk, as returned by reaper's api function reaper.GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ RemoveMediaItem_TrackStateChunk

Functioncall:

boolean retval, string trackstatechunk = ultraschall.RemoveMediaItem_TrackStateChunk(string trackstatechunk, integer idx)

Description:
Deletes the idx'th item from trackstatechunk and returns this altered trackstatechunk.

returns false in case of error

Returnvalues:
 boolean retval true in case of success, false in case of error 
 string trackstatechunk the new trackstatechunk with the idx'th item deleted 

Parameters:
 string trackstatechunk a trackstatechunk, as returned by reaper's api function reaper.GetTrackStateChunk 
 integer idx the number of the item you want to delete 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ RemoveMediaItemByIGUID_TrackStateChunk

Functioncall:

boolean retval, string trackstatechunk = ultraschall.RemoveMediaItemByIGUID_TrackStateChunk(string trackstatechunk, string IGUID)

Description:
Deletes the item with the iguid IGUID from trackstatechunk and returns this altered trackstatechunk.

returns false in case of error

Returnvalues:
 boolean retval true in case of success, false in case of error 
 string trackstatechunk the new trackstatechunk with the IGUID-item deleted 

Parameters:
 string trackstatechunk a trackstatechunk, as returned by reaper's api function reaper.GetTrackStateChunk 
 string IGUID the IGUID of the item you want to delete 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ RemoveMediaItemByGUID_TrackStateChunk

Functioncall:

boolean retval, string trackstatechunk = ultraschall.RemoveMediaItemByGUID_TrackStateChunk(string trackstatechunk, string GUID)

Description:
Deletes the item with the guid GUID from trackstatechunk and returns this altered trackstatechunk.

returns false in case of error

Returnvalues:
 boolean retval true in case of success, false in case of error 
 string trackstatechunk the new trackstatechunk with the GUID-item deleted 

Parameters:
 string trackstatechunk a trackstatechunk, as returned by reaper's api function reaper.GetTrackStateChunk 
 string GUID the GUID of the item you want to delete 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ OnlyTracksInBothTrackstrings

Functioncall:

integer retval, string trackstring, array trackstringarray, integer number_of_entries = ultraschall.OnlyTracksInBothTrackstrings(string trackstring1, string trackstring2)

Description:
returns a new trackstring, that contains only the tracknumbers, that are in trackstring1 and trackstring2.

returns -1 in case of error

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 string trackstring the cleared trackstring, -1 in case of error 
 array trackstringarray the "cleared" trackstring as an array 
 integer number_of_entries the number of entries in the trackstring 

Parameters:
 string trackstring1 a string with the tracknumbers, separated by commas 
 string trackstring2 a string with the tracknumbers, separated by commas 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ OnlyTracksInOneTrackstring

Functioncall:

integer retval, string trackstring, array trackstringarray, integer number_of_entries = ultraschall.OnlyTracksInOneTrackstring(string trackstring1, string trackstring2)

Description:
returns a new trackstring, that contains only the tracknumbers, that are in either trackstring1 or trackstring2, NOT in both!

returns -1 in case of error

Returnvalues:
 integer retval -1 in case of error, 1 in case of success 
 string trackstring the cleared trackstring, -1 in case of error 
 array trackstringarray the "cleared" trackstring as an array 
 integer number_of_entries the number of entries in the trackstring 

Parameters:
 string trackstring1 a string with the tracknumbers, separated by commas 
 string trackstring2 a string with the tracknumbers, separated by commas 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetMediaItemStateChunk_in_TrackStateChunk

Functioncall:

boolean retval, string trackstatechunk = ultraschall.SetMediaItemStateChunk_in_TrackStateChunk(string trackstatechunk, integer idx, string mediaitemstatechunk)

Description:
Overwrites the idx'th item from trackstatechunk with mediaitemstatechunk and returns this altered trackstatechunk.

returns false in case of error

Returnvalues:
 boolean retval true in case of success, false in case of error 
 string trackstatechunk the new trackstatechunk with the idx'th item replaced 

Parameters:
 string trackstatechunk a trackstatechunk, as returned by reaper's api function reaper.GetTrackStateChunk 
 integer idx the number of the item you want to delete 
 string mediaitemstatechunk a mediaitemstatechunk, as returned by reaper's api function reaper.GetItemStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetAllMediaItemsFromTrackStateChunk

Functioncall:

integer count, array MediaItemStateChunkArray = ultraschall.GetAllMediaItemsFromTrackStateChunk(string trackstatechunk)

Description:
Returns a MediaItemStateChunkArray with all items in trackstatechunk.

returns -1 in case of error

Returnvalues:
 integer count number of MediaItemStateChunks in the returned array. -1 in case of error 
 array MediaItemStateChunkArray an array with all MediaItemStateChunks from trackstatechunk 

Parameters:
 string trackstatechunk a trackstatechunk, as returned by functions like reaper.GetTrackStateChunk 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CreateTrackString_AllTracks

Functioncall:

string trackstring = ultraschall.CreateTrackString_AllTracks()

Description:
Returns a trackstring with all tracknumbers from the current project.

Returns an empty string, if no track is available.

Returnvalues:
 string trackstring a string with all tracknumbers, separated by commas. 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackLength

Functioncall:

integer length = ultraschall.GetTrackLength(integer Tracknumber)

Description:
Returns the length of a track, that means, the end of the last item in track Tracknumber.
Will return -1, in case of error

Returnvalues:
 integer length the length of the track in seconds 

Parameters:
 integer Tracknumber the tracknumber, whose length you want to know 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetLengthOfAllMediaItems_Track

Functioncall:

integer length = ultraschall.GetLengthOfAllMediaItems_Track(integer Tracknumber)

Description:
Returns the length of all MediaItems in track, combined.
Will return -1, in case of error

Returnvalues:
 integer length the length of all MediaItems in the track combined, in seconds 

Parameters:
 integer Tracknumber the tracknumber, whose length you want to know; 1, track 1; 2, track 2, etc 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ ApplyActionToTrack

Functioncall:

boolean retval = ultraschall.ApplyActionToTrack(string trackstring, string/number actioncommandid)

Description:
Applies action to the tracks, given by trackstring
The action given must support applying itself to selected tracks.

Returns false in case of an error

Returnvalues:
 boolean retval true, running action was successful; false, running the action was unsuccessful 

Parameters:
 string trackstring a string with all tracknumbers, separated by a comma; 1 for the first track, 2 for the second 


^ Reaper version 5.77Ultraschall version 4.00Lua version 5.3 ^ InsertTrackAtIndex

Functioncall:

string trackarray, integer new_track_count, array trackarray_newtracks = ultraschall.InsertTrackAtIndex(integer index, integer number_of_tracks, boolean wantdefaults)

Description:
Inserts one or more tracks at index.

Returns nil in case of an error

Returnvalues:
 string trackstring a trackstring with all newly created tracknumbers 
 integer new_track_count the number of newly created tracks 
 array trackarray_newtracks an array with the MediaTrack-objects of all newly created tracks 

Parameters:
 integer index the index, at which to include the new tracks; 0, for including before the first track 
 integer number_of_tracks the number of tracks that you want to create; 0 for including before track 1; number of tracks+1, include new tracks after last track 
 boolean wantdefaults true, set the tracks with default settings/fx/etc; false, create new track without any defaults 


^ Reaper version 5.92Ultraschall version 4.00Lua version 5.3 ^ MoveTracks

Functioncall:

boolean retval = ultraschall.MoveTracks(string trackstring, integer targetindex, integer makepreviousfolder)

Description:
Moves tracks in trackstring to position targetindex. You can also set, if the tracks shall become folders.
Multiple tracks in trackstring will be put together, so track 2, 4, 6 would become 1, 2, 3, when moved above the first track!

Returns false in case of an error

Returnvalues:
 boolean retval true, moving was successful; false, moving wasn't successful 

Parameters:
 string trackstring a string with all tracknumbers of the tracks you want to move, separated by commas 
 integer targetindex the index, to which to move the tracks; 0, move tracks before track 1; number of tracks+1, move after the last track 
 integer makepreviousfolder make tracks a folder or not
0, for normal,
1, as child of track preceding track specified by makepreviousfolder
2, if track preceding track specified by makepreviousfolder is last track in folder, extend folder 


^ Reaper version 5.941Ultraschall version 4.00Lua version 5.3 ^ CreateTrackString_ArmedTracks

Functioncall:

string trackstring = ultraschall.CreateTrackString_ArmedTracks()

Description:
Gets a trackstring with tracknumbers of all armed tracks in it.

Returns "" if no track is armed.

Returnvalues:
 string trackstring a trackstring with the tracknumbers of all armed tracks as comma separated csv-string, eg: "1,3,4,7" 



^ Reaper version 5.941Ultraschall version 4.00Lua version 5.3 ^ CreateTrackString_UnarmedTracks

Functioncall:

string trackstring = ultraschall.CreateTrackString_UnarmedTracks()

Description:
Gets a trackstring with tracknumbers of all unarmed tracks in it.

Returns "" if all tracks are armed.

Returnvalues:
 string trackstring a trackstring with the tracknumbers of all unarmed tracks as comma separated csv-string, eg: "1,3,4,7" 



^ Reaper version 5.95Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ CreateTrackStringByGUID

Functioncall:

string trackstring = ultraschall.CreateTrackStringByGUID(string guid_csv_string)

Description:
returns a trackstring with all tracks, as given by the GUIDs in the comma-separated-csv-string guid_csv_string.

returns "" in case of an error, like no track available or an invalid string

Returnvalues:
 string trackstring a string with all the tracknumbers of the tracks given as GUIDs in guid_csv_string 

Parameters:
 string guid_csv_string a comma-separated csv-string, that includes all GUIDs of all track to be included in the trackstring. 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ CreateTrackStringByTracknames

Functioncall:

string trackstring = ultraschall.CreateTrackStringByTracknames(string tracknames_csv_string)

Description:
returns a trackstring with all tracks, as given by the tracknames in the newline(!)-separated-csv-string guid_csv_string.

returns "" in case of an error, like no track available or an invalid string

Returnvalues:
 string trackstring a string with all the tracknumbers of the tracks given as tracknames in tracknames_csv_string 

Parameters:
 string tracknames_csv_string a newline(!)-separated csv-string, that includes all tracknames of all track to be included in the trackstring. Tracknames are case sensitive! 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ CreateTrackStringByMediaTracks

Functioncall:

string trackstring = ultraschall.CreateTrackStringByMediaTracks(array MediaTrackArray)

Description:
returns a trackstring with all tracks, as given in the array MediaTrackArray

returns "" in case of an error, like no track available or an invalid string

Returnvalues:
 string trackstring a string with all the tracknumbers of the MediaTrack-objects given in parameter MediaTrackArray 

Parameters:
 array MediaTrackArray an array, that includes all MediaTrack-objects to be included in the trackstring; a nil-entry is seen as the end of the array 


^ Reaper version 5.965Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetTracknumberByGuid

Functioncall:

integer tracknumber, MediaTrack tr = ultraschall.GetTracknumberByGuid(string guid)

Description:
returns the tracknumber and track of a guid. The track must be in the currently active project!

Supports the returned guids by reaper.BR_GetMediaTrackGUID and reaper.GetTrackGUID.

returns -1 in case of an error

Returnvalues:
 integer tracknumber the number of the track; 0, for master track; 1, for track 1; 2, for track 2, etc. -1, in case of an error 
 MediaTrack tr the MediaTrack-object of the requested track; nil, if no track is found 

Parameters:
 string gui the guid of the track, that you want to request 


^ Reaper version 5.975Ultraschall version 4.1Lua version 5.3 ^ DeleteTracks_TrackString

Functioncall:

boolean retval = ultraschall.DeleteTracks_TrackString(string trackstring)

Description:
deletes all tracks in trackstring

Returns false in case of an error

Returnvalues:
 boolean retval true, setting it was successful; false, setting it was unsuccessful 

Parameters:
 string trackstring a string with all tracknumbers, separated by commas 


^ Reaper version 5.979Ultraschall version 4.00Lua version 5.3 ^ AnyTrackMute

Functioncall:

boolean retval = ultraschall.AnyTrackMute(optional boolean master)

Description:
returns true, if any track is muted, otherwise returns false.

Returnvalues:
 boolean retval true, if any track is muted; false, if not 

Parameters:
 optional boolean master true, include the master-track as well; false, don't include master-track 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ AnyTrackRecarmed

Functioncall:

boolean retval = ultraschall.AnyTrackRecarmed()

Description:
Returns true, if any track is recarmed.

Returnvalues:
 boolean retval true, at least one track is recarmed; false, no track is recarmed 



^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ AnyTrackPhased

Functioncall:

boolean retval = ultraschall.AnyTrackPhased()

Description:
Returns true, if any track has phase-invert activated.

Returnvalues:
 boolean retval true, at least one track has an activated phase-invert; false, no track is phase-inverted 



^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ AnyTrackRecMonitored

Functioncall:

boolean retval = ultraschall.AnyTrackRecMonitored()

Description:
Returns true, if any track has monitoring of recinput activated.

Returnvalues:
 boolean retval true, at least one track has an activated rec-monitoring; false, no track is rec-monitored 



^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ AnyTrackHiddenTCP

Functioncall:

boolean retval = ultraschall.AnyTrackHiddenTCP(optional boolean master)

Description:
Returns true, if any track is hidden in Track Control Panel.

Returnvalues:
 boolean retval true, at least one track is hidden in TCP; false, no track is hidden 

Parameters:
 optional boolean master true, include the master-track; false, don't include the master-track 


^ Reaper version 5.975Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ AnyTrackHiddenMCP

Functioncall:

boolean retval = ultraschall.AnyTrackHiddenMCP(optional boolean master)

Description:
Returns true, if any track is hidden in Mixer Control Panel.

Returnvalues:
 boolean retval true, at least one track is hidden in MCP; false, no track is hidden 

Parameters:
 optional boolean master true, include the master-track; false, don't include the master-track 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ AnyTrackFreeItemPositioningMode

Functioncall:

boolean retval = ultraschall.AnyTrackFreeItemPositioningMode()

Description:
Returns true, if any track has free item positioning mode(freemode) activated.

Returnvalues:
 boolean retval true, at least one track has freemode activated; false, no track has freemode-activated 



^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ AnyTrackFXBypass

Functioncall:

boolean retval = ultraschall.AnyTrackFXBypass(optional boolean master)

Description:
Returns true, if any track has fx-bypass activated.

Returnvalues:
 boolean retval true, at least one track has fx bypass activated; false, no track has fx-bypass activated 

Parameters:
 optional boolean master true, include the master-track; false, don't include the master-track 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ SetTrack_LastTouched

Functioncall:

boolean retval = ultraschall.SetTrack_LastTouched(integer track)

Description:
Sets a track to be last touched track.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, setting was not successful 

Parameters:
 integer track the track, which you want to set as last touched track 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ GetTrackByTrackName

Functioncall:

integer number_of_found_tracks, table found_tracks, table found_tracknames = ultraschall.GetTrackByTrackName(string trackname, boolean case_sensitive, integer escaped_strict)

Description:
returns all tracks with a certain name.

You can set case-sensitivity, whether pattern-matchin is possible and whether the name shall be used strictly.
For instance, if you want to look for a track named exactly "JaM.-Enlightened" you set case_sensitive=false and escaped_strict=2. That way, tracks names "JaM.*Enlightened" will be ignored.

returns -1 in case of an error

Returnvalues:
 integer number_of_found_tracks the number of found tracks 
 table found_tracks the found tracks as table 
 table found_tracknames the found tracknames 

Parameters:
 string trackname the trackname to look for 
 boolean case_sensitive true, take care of case-sensitivity; false, don't take case-sensitivity into account 
 integer escaped_strict 0, use trackname as matching-pattern, will find all tracknames following the pattern(Ja.-m -> Jam, Jam123Police, JaABBAm)
1, escape trackname off all magic characters, will find all tracknames with the escaped pattern in it (Ja.-m -> Ja.-m, Jam.-boree)
2, strict, will only find tracks with the exact trackname-string in their name(Jam -> Jam) 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ CollapseTrackHeight

Functioncall:

boolean retval = ultraschall.CollapseTrackHeight(integer track)

Description:
Collapses the height of a track to the minimum height as set by the theme

returns false in case of an error

Returnvalues:
 boolean retval true, collapsing was successful; false, collapsing was not successful 

Parameters:
 integer track the track, which you want to collapse in height 


^ Reaper version 6.05Ultraschall version 4.1Lua version 5.3 ^ SetTrack_Trackheight_Force

Functioncall:

boolean retval = ultraschall.SetTrack_Trackheight_Force(integer track, integer trackheight)

Description:
Sets the trackheight of a track. Forces trackheight beyond limits set by the theme.

returns false in case of an error

Returnvalues:
 boolean retval true, collapsing was successful; false, collapsing was not successful 

Parameters:
 integer track the track, which you want to set the height of 
 integer trackheigt the trackheight in pixels, 0 and higher 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ GetAllVisibleTracks_Arrange

Functioncall:

string trackstring, integer tracktable_count, table tracktable = ultraschall.GetAllVisibleTracks_Arrange(optional boolean master_track, optional boolean completely_visible)

Description:
returns a trackstring with all tracks currently visible in the arrange-view.

Note: Item who start above and end below the visible arrangeview will be treated as not completely visible!

returns nil in case of error

Returnvalues:
 string trackstring a string with holds all tracknumbers from all found tracks, separated by a comma; beginning with 1 for the first track 
 integer tracktable_count the number of tracks found 
 table tracktable a table which holds all MediaTrack-objects 

Parameters:
 optional boolean master_track nil or true, check for visibility of the master-track; false, don't include the master-track 
 optional boolean completely_visible nil or false, all tracks including partially visible ones; true, only fully visible tracks 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ IsTrackVisible

Functioncall:

boolean retval = ultraschall.IsTrackVisible(MediaTrack track, boolean completely_visible)

Description:
returns if a track is currently visible in arrangeview

returns nil in case of error

Returnvalues:
 boolean retval true, track is visible; false, track is not visible 

Parameters:
 MediaTrack track the track, whose visibility you want to query 
 boolean completely_visible false, all tracks including partially visible ones; true, only fully visible tracks 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackHWOut

Functioncall:

integer outputchannel, integer post_pre_fader, number volume, number pan, integer mute, integer phase, integer source, number pan_law, integer automationmode = ultraschall.GetTrackHWOut(integer tracknumber, integer idx, optional string TrackStateChunk)

Description:
Returns the settings of the HWOUT-HW-destination, as set in the routing-matrix, as well as in the Destination "Controls for Track"-dialogue, of tracknumber. There can be more than one, which you can choose with idx.

It's the entry HWOUT

returns -1 in case of failure

Returnvalues:
 integer outputchannel outputchannel, with 1024+x the individual hw-outputchannels, 0,2,4,etc stereo output channels 
 integer post_pre_fader 0-post-fader(post pan), 1-preFX, 3-pre-fader(Post-FX), as set in the Destination "Controls for Track"-dialogue 
 number volume volume, as set in the Destination "Controls for Track"-dialogue; see [MKVOL2DB](#MKVOL2DB) to convert it into a dB-value 
 number pan pan, as set in the Destination "Controls for Track"-dialogue 
 integer mute mute, 1-on, 0-off, as set in the Destination "Controls for Track"-dialogue 
 integer phase Phase, 1-on, 0-off, as set in the Destination "Controls for Track"-dialogue 
 integer source source, as set in the Destination "Controls for Track"-dialogue
                                    -1 - None
                                     0 - Stereo Source 1/2
                                     4 - Stereo Source 5/6
                                    12 - New Channels On Sending Track Stereo Source Channel 13/14
                                    1024 - Mono Source 1
                                    1029 - Mono Source 6
                                    1030 - New Channels On Sending Track Mono Source Channel 7
                                    1032 - New Channels On Sending Track Mono Source Channel 9
                                    2048 - MultiChannel 4 Channels 1-4
                                    2050 - Multichannel 4 Channels 3-6
                                    3072 - Multichannel 6 Channels 1-6 
 number pan_law pan-law, as set in the dialog that opens, when you right-click on the pan-slider in the routing-settings-dialog; default is -1 for +0.0dB 
 integer automationmode automation mode, as set in the Destination "Controls for Track"-dialogue
                                    -1 - Track Automation Mode
                                     0 - Trim/Read
                                     1 - Read
                                     2 - Touch
                                     3 - Write
                                     4 - Latch
                                     5 - Latch Preview 

Parameters:
 integer tracknumber the number of the track, whose HWOut you want, 0 for Master Track 
 integer idx the id-number of the HWOut, beginning with 1 for the first HWOut-Settings 
 optional string TrackStateChunk a TrackStateChunk, whose HWOUT-entries you want to get 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackAUXSendReceives

Functioncall:

integer recv_tracknumber, integer post_pre_fader, number volume, number pan, integer mute, integer mono_stereo, integer phase, integer chan_src, integer snd_chan, number pan_law, integer midichanflag, integer automation = ultraschall.GetTrackAUXSendReceives(integer tracknumber, integer idx, optional string TrackStateChunk)

Description:
Returns the settings of the Send/Receive, as set in the routing-matrix, as well as in the Destination "Controls for Track"-dialogue, of tracknumber. There can be more than one, which you can choose with idx.
Remember, if you want to get the sends of a track, you need to check the recv_tracknumber-returnvalues of the OTHER(!) tracks, as you can only get the receives. With the receives checked, you know, which track sends.

It's the entry AUXRECV

returns -1 in case of failure

Returnvalues:
 integer recv_tracknumber Tracknumber, from where to receive the audio from 
 integer post_pre_fader 0-PostFader, 1-PreFX, 3-Pre-Fader 
 number volume Volume; see [MKVOL2DB](#MKVOL2DB) to convert it into a dB-value 
 number pan pan, as set in the Destination "Controls for Track"-dialogue; negative=left, positive=right, 0=center 
 integer mute Mute this send(1) or not(0) 
 integer mono_stereo Mono(1), Stereo(0) 
 integer phase Phase of this send on(1) or off(0) 
 integer chan_src Audio-Channel Source
                                        -1 - None
                                        0 - Stereo Source 1/2
                                        1 - Stereo Source 2/3
                                        2 - Stereo Source 3/4
                                        1024 - Mono Source 1
                                        1025 - Mono Source 2
                                        2048 - Multichannel Source 4 Channels 1-4 
 integer snd_chan send to channel
                                        0 - Stereo 1/2
                                        1 - Stereo 2/3
                                        2 - Stereo 3/4
                                        ...
                                        1024 - Mono Channel 1
                                        1025 - Mono Channel 2 
 number pan_law pan-law, as set in the dialog that opens, when you right-click on the pan-slider in the routing-settings-dialog; default is -1 for +0.0dB 
 integer midichanflag 0 - All Midi Tracks
                                        1 to 16 - Midi Channel 1 to 16
                                        32 - send to Midi Channel 1
                                        64 - send to MIDI Channel 2
                                        96 - send to MIDI Channel 3
                                        ...
                                        512 - send to MIDI Channel 16
                                        4194304 - send to MIDI-Bus B1
                                        send to MIDI-Bus B1 + send to MIDI Channel nr = MIDIBus B1 1/nr:
                                        16384 - BusB1
                                        BusB1+1 to 16 - BusB1-Channel 1 to 16
                                        32768 - BusB2
                                        BusB2+1 to 16 - BusB2-Channel 1 to 16
                                        49152 - BusB3
                                        ...
                                        BusB3+1 to 16 - BusB3-Channel 1 to 16
                                        262144 - BusB16
                                        BusB16+1 to 16 - BusB16-Channel 1 to 16

                                        1024 - Add that value to switch MIDI On
                                        4177951 - MIDI - None 
 integer automation Automation Mode
                                       -1 - Track Automation Mode
                                        0 - Trim/Read
                                        1 - Read
                                        2 - Touch
                                        3 - Write
                                        4 - Latch
                                        5 - Latch Preview 

Parameters:
 integer tracknumber the number of the track, whose Send/Receive you want 
 integer idx the id-number of the Send/Receive, beginning with 1 for the first Send/Receive-Settings 
 optional string TrackStateChunk a TrackStateChunk, whose AUXRECV-entries you want to get 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountTrackHWOuts

Functioncall:

integer count_HWOuts = ultraschall.CountTrackHWOuts(integer tracknumber, optional string TrackStateChunk)

Description:
Counts and returns the number of existing HWOUT-HW-destination, as set in the routing-matrix, as well as in the Destination "Controls for Track"-dialogue, of tracknumber.
returns -1 in case of failure

Returnvalues:
 integer count_HWOuts the number of HWOuts in tracknumber 

Parameters:
 integer tracknumber the number of the track, whose HWOUTs you want to count. 0 for Master Track; -1, to use optional parameter TrackStateChunk instead 
 optional string TrackStateChunk the TrackStateChunk, whose hwouts you want to count; only when tracknumber=-1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountTrackAUXSendReceives

Functioncall:

integer count_SendReceives = ultraschall.CountTrackAUXSendReceives(integer tracknumber, optional string TrackStateChunk)

Description:
Counts and returns the number of existing Send/Receives/Routing-settings, as set in the routing-matrix, as well as in the Destination "Controls for Track"-dialogue, of tracknumber.
returns -1 in case of failure

Returnvalues:
 integer count_SendReceives the number of Send/Receives-Settings in tracknumber 

Parameters:
 integer tracknumber the number of the track, whose Send/Receive you want; -1, if you want to pass a TrackStateChunk instead 
 optional string TrackStateChunk the TrackStateChunk, whose hwouts you want to count; only when tracknumber=-1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ AddTrackHWOut

Functioncall:

boolean retval, optional string TrackStateChunk = ultraschall.AddTrackHWOut(integer tracknumber, integer outputchannel, integer post_pre_fader, number volume, number pan, integer mute, integer phase, integer source, number pan_law, integer automationmode, optional parameter TrackStateChunk)

Description:
Adds a setting of the HWOUT-HW-destination, as set in the routing-matrix, as well as in the Destination "Controls for Track"-dialogue, of tracknumber.
This function does not check the parameters for plausability, so check your settings twice!

returns false in case of failure

Returnvalues:
 boolean retval true, if it worked; false if it didn't 
 optional parameter TrackStateChunk an altered TrackStateChunk into which you added the new hwout-setting 

Parameters:
 integer tracknumber the number of the track, whose HWOut you want. 0 for Master Track; -1, use parameter TrackStateChunk instead 
 integer outputchannel outputchannel, with 1024+x the individual hw-outputchannels, 0,2,4,etc stereo output channels 
 integer post_pre_fader 0-post-fader(post pan), 1-preFX, 3-pre-fader(Post-FX), as set in the Destination "Controls for Track"-dialogue 
 number volume volume, as set in the Destination "Controls for Track"-dialogue; see [DB2MKVOL](#DB2MKVOL) to convert from a dB-value 
 number pan pan, as set in the Destination "Controls for Track"-dialogue 
 integer mute mute, 1-on, 0-off, as set in the Destination "Controls for Track"-dialogue 
 integer phase Phase, 1-on, 0-off, as set in the Destination "Controls for Track"-dialogue 
 integer source source, as set in the Destination "Controls for Track"-dialogue
                                    -1 - None
                                     0 - Stereo Source 1/2
                                     4 - Stereo Source 5/6
                                    12 - New Channels On Sending Track Stereo Source Channel 13/14
                                    1024 - Mono Source 1
                                    1029 - Mono Source 6
                                    1030 - New Channels On Sending Track Mono Source Channel 7
                                    1032 - New Channels On Sending Track Mono Source Channel 9
                                    2048 - MultiChannel 4 Channels 1-4
                                    2050 - Multichannel 4 Channels 3-6
                                    3072 - Multichannel 6 Channels 1-6 
 number pan_law pan-law, as set in the dialog that opens, when you right-click on the pan-slider in the routing-settings-dialog; default is -1 for +0.0dB 
 integer automationmode automation mode, as set in the Destination "Controls for Track"-dialogue
                                    -1 - Track Automation Mode
                                     0 - Trim/Read
                                     1 - Read
                                     2 - Touch
                                     3 - Write
                                     4 - Latch
                                     5 - Latch Preview 
 optional parameter TrackStateChunk a TrackStateChunk into which to add the hwout-setting; only available, when tracknumber=-1 


^ Reaper version 5.975Ultraschall version 4.00Lua version 5.3 ^ AddTrackAUXSendReceives

Functioncall:

boolean retval, optional string TrackStateChunk = ultraschall.AddTrackAUXSendReceives(integer tracknumber, integer recv_tracknumber, integer post_pre_fader, number volume, number pan, integer mute, integer mono_stereo, integer phase, integer chan_src, integer snd_chan, number pan_law, integer midichanflag, integer automation, optional string TrackStateChunk)

Description:
Adds a setting of Send/Receive, as set in the routing-matrix, as well as in the Destination "Controls for Track"-dialogue, of tracknumber. There can be more than one.
Remember, if you want to set the sends of a track, you need to add it to the track, that shall receive, not the track that sends! Set recv_tracknumber in the track that receives with the tracknumber that sends, and you've set it successfully.

Due to the complexity of send/receive-settings, this function does not check, whether the parameters are plausible. So check twice, whether the added sends/receives appear, as they might not appear!
returns false in case of failure

Returnvalues:
 boolean retval true if it worked, false if it didn't. 
 optional parameter TrackStateChunk an altered TrackStateChunk into which you added a new receive/routing; only available, when tracknumber=-1 

Parameters:
 integer tracknumber the number of the track, whose Send/Receive you want; -1, if you want to use the parameter TrackStateChunk 
 integer recv_tracknumber Tracknumber, from where to receive the audio from 
 integer post_pre_fader 0-PostFader, 1-PreFX, 3-Pre-Fader 
 number volume Volume, see [DB2MKVOL](#DB2MKVOL) to convert from a dB-value 
 number pan pan, as set in the Destination "Controls for Track"-dialogue; negative=left, positive=right, 0=center 
 integer mute Mute this send(1) or not(0) 
 integer mono_stereo Mono(1), Stereo(0) 
 integer phase Phase of this send on(1) or off(0) 
 integer chan_src Audio-Channel Source
                                       -1 - None
                                        0 - Stereo Source 1/2
                                        1 - Stereo Source 2/3
                                        2 - Stereo Source 3/4
                                        1024 - Mono Source 1
                                        1025 - Mono Source 2
                                        2048 - Multichannel Source 4 Channels 1-4 
 integer snd_chan send to channel
                                        0 - Stereo 1/2
                                        1 - Stereo 2/3
                                        2 - Stereo 3/4
                                        ...
                                        1024 - Mono Channel 1
                                        1025 - Mono Channel 2 
 number pan_law pan-law, as set in the dialog that opens, when you right-click on the pan-slider in the routing-settings-dialog; default is -1 for +0.0dB 
 integer midichanflag 0 - All Midi Tracks
                                        1 to 16 - Midi Channel 1 to 16
                                        32 - send to Midi Channel 1
                                        64 - send to MIDI Channel 2
                                        96 - send to MIDI Channel 3
                                        ...
                                        512 - send to MIDI Channel 16    
                                        4194304 - send to MIDI-Bus B1
                                        send to MIDI-Bus B1 + send to MIDI Channel nr = MIDIBus B1 1/nr:
                                        16384 - BusB1
                                        BusB1+1 to 16 - BusB1-Channel 1 to 16
                                        32768 - BusB2
                                        BusB2+1 to 16 - BusB2-Channel 1 to 16
                                        49152 - BusB3
                                        ...
                                        BusB3+1 to 16 - BusB3-Channel 1 to 16
                                        262144 - BusB16
                                        BusB16+1 to 16 - BusB16-Channel 1 to 16

                                        1024 - Add that value to switch MIDI On
                                        4177951 - MIDI - None 
 integer automation Automation Mode
                                       -1 - Track Automation Mode
                                        0 - Trim/Read
                                        1 - Read
                                        2 - Touch
                                        3 - Write
                                        4 - Latch
                                        5 - Latch Preview 
 optional string TrackStateChunk the TrackStateChunk, to which you want to add a new receive-routing 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ DeleteTrackHWOut

Functioncall:

boolean retval, optional string TrackStateChunk = ultraschall.DeleteTrackHWOut(integer tracknumber, integer idx, optional string TrackStateChunk)

Description:
Deletes the idxth HWOut-Setting of tracknumber.
returns false in case of failure

Returnvalues:
 boolean retval true if it worked, false if it didn't. 
 optional string TrackStateChunk the altered TrackStateChunk, from which you deleted HWOut-entries; only available, when tracknumber=-1 

Parameters:
 integer tracknumber the number of the track, whose HWOUTs you want to delete. 0 for Master Track. -1, if you want to use the parameter TrackStateChunk instead 
 integer idx the number of the HWOut-setting, that you want to delete; -1, to delete all HWOuts from this track 
 optional string TrackStateChunk the TrackStateChunk, from which you want to delete HWOut-entries 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ DeleteTrackAUXSendReceives

Functioncall:

boolean retval = ultraschall.DeleteTrackAUXSendReceives(integer tracknumber, integer idx, optional string TrackStateChunk)

Description:
Deletes the idxth Send/Receive-Setting of tracknumber.
returns false in case of failure

Returnvalues:
 boolean retval true if it worked, false if it didn't. 
 optional string TrackStateChunk an altered TrackStateChunk, from which you deleted a Send/Receive-entrie; only available, when tracknumber=-1 

Parameters:
 integer tracknumber the number of the track, whose Send/Receive you want; -1, if you want to use the parameter TrackStateChunk 
 integer idx the number of the send/receive-setting, that you want to delete; -1, deletes all AuxReceives on this track 
 optional string TrackStateChunk a TrackStateChunk, from which you want to delete Send/Receive-entries; only available, when tracknumber=-1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackHWOut

Functioncall:

boolean retval, optional string TrackStateChunk = ultraschall.SetTrackHWOut(integer tracknumber, integer idx, integer outputchannel, integer post_pre_fader, number volume, number pan, integer mute, integer phase, integer source, number pan_law, integer automationmode, optional string TrackStateChunk)

Description:
Sets a setting of the HWOUT-HW-destination, as set in the routing-matrix, as well as in the Destination "Controls for Track"-dialogue, of tracknumber. There can be more than one, so choose the one you want to change with idx.
To retain old-settings, use nil with the accompanying parameters.
This function does not check the parameters for plausability, so check your settings twice, or the HWOut-setting might disappear with faulty parameters!

returns false in case of failure

Returnvalues:
 boolean retval true, if it worked; false if it didn't 
 optional string TrackStateChunk an altered TrackStateChunk, in which you've set a send/receive-setting; only available when track=-1 

Parameters:
 integer tracknumber the number of the track, whose HWOut you want. 0 for Master Track 
 integer idx the number of the HWOut-setting, you want to change 
 integer outputchannel outputchannel, with 1024+x the individual hw-outputchannels, 0,2,4,etc stereo output channels 
 integer post_pre_fader 0-post-fader(post pan), 1-preFX, 3-pre-fader(Post-FX), as set in the Destination "Controls for Track"-dialogue 
 number volume volume, as set in the Destination "Controls for Track"-dialogue; see [DB2MKVOL](#DB2MKVOL) to convert from a dB-value 
 number pan pan, as set in the Destination "Controls for Track"-dialogue 
 integer mute mute, 1-on, 0-off, as set in the Destination "Controls for Track"-dialogue 
 integer phase Phase, 1-on, 0-off, as set in the Destination "Controls for Track"-dialogue 
 integer source source, as set in the Destination "Controls for Track"-dialogue
                                    -1 - None
                                     0 - Stereo Source 1/2
                                     4 - Stereo Source 5/6
                                    12 - New Channels On Sending Track Stereo Source Channel 13/14
                                    1024 - Mono Source 1
                                    1029 - Mono Source 6
                                    1030 - New Channels On Sending Track Mono Source Channel 7
                                    1032 - New Channels On Sending Track Mono Source Channel 9
                                    2048 - MultiChannel 4 Channels 1-4
                                    2050 - Multichannel 4 Channels 3-6
                                    3072 - Multichannel 6 Channels 1-6 
 number pan_law pan-law, as set in the dialog that opens, when you right-click on the pan-slider in the routing-settings-dialog; default is -1 for +0.0dB 
 integer automationmode automation mode, as set in the Destination "Controls for Track"-dialogue
                                    -1 - Track Automation Mode
                                     0 - Trim/Read
                                     1 - Read
                                     2 - Touch
                                     3 - Write
                                     4 - Latch
                                     5 - Latch Preview 
 optional string TrackStateChunk sets an HWOUT-entry in a TrackStateChunk 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ SetTrackAUXSendReceives

Functioncall:

boolean retval, optional string TrackStateChunk = ultraschall.SetTrackAUXSendReceives(integer tracknumber, integer idx, integer recv_tracknumber, integer post_pre_fader, number volume, number pan, integer mute, integer mono_stereo, integer phase, integer chan_src, integer snd_chan, number pan_law, integer midichanflag, integer automation, optional string TrackStateChunk)

Description:
Alters a setting of Send/Receive, as set in the routing-matrix, as well as in the Destination "Controls for Track"-dialogue, of tracknumber. There can be more than one, so choose the right one with idx.
You can keep the old-setting by using nil as a parametervalue.
Remember, if you want to set the sends of a track, you need to add it to the track, that shall receive, not the track that sends! Set recv_tracknumber in the track that receives with the tracknumber that sends, and you've set it successfully.

Due to the complexity of send/receive-settings, this function does not check, whether the parameters are plausible. So check twice, whether the change sends/receives still appear, as they might disappear with faulty settings!
returns false in case of failure

Returnvalues:
 boolean retval true if it worked, false if it didn't. 
 optional string TrackStateChunk an altered TrackStateChunk, whose AUXRECV-entries you've altered 

Parameters:
 integer tracknumber the number of the track, whose Send/Receive you want 
 integer idx the send/receive-setting, you want to set 
 integer recv_tracknumber Tracknumber, from where to receive the audio from 
 integer post_pre_fader 0-PostFader, 1-PreFX, 3-Pre-Fader 
 number volume Volume; see [DB2MKVOL](#DB2MKVOL) to convert from a dB-value 
 number pan pan, as set in the Destination "Controls for Track"-dialogue; negative=left, positive=right, 0=center 
 integer mute Mute this send(1) or not(0) 
 integer mono_stereo Mono(1), Stereo(0) 
 integer phase Phase of this send on(1) or off(0) 
 integer chan_src Audio-Channel Source
                                        -1 - None
                                        0 - Stereo Source 1/2
                                        1 - Stereo Source 2/3
                                        2 - Stereo Source 3/4
                                        1024 - Mono Source 1
                                        1025 - Mono Source 2
                                        2048 - Multichannel Source 4 Channels 1-4 
 integer snd_chan send to channel
                                        0 - Stereo 1/2
                                        1 - Stereo 2/3
                                        2 - Stereo 3/4
                                        ...
                                        1024 - Mono Channel 1
                                        1025 - Mono Channel 2 
 number pan_law pan-law, as set in the dialog that opens, when you right-click on the pan-slider in the routing-settings-dialog; default is -1 for +0.0dB 
 integer midichanflag 0 - All Midi Tracks
                                        1 to 16 - Midi Channel 1 to 16
                                        32 - send to Midi Channel 1
                                        64 - send to MIDI Channel 2
                                        96 - send to MIDI Channel 3
                                        ...
                                        512 - send to MIDI Channel 16
                                        4194304 - send to MIDI-Bus B1
                                        send to MIDI-Bus B1 + send to MIDI Channel nr = MIDIBus B1 1/nr:
                                        16384 - BusB1
                                        BusB1+1 to 16 - BusB1-Channel 1 to 16
                                        32768 - BusB2
                                        BusB2+1 to 16 - BusB2-Channel 1 to 16
                                        49152 - BusB3
                                        ...
                                        BusB3+1 to 16 - BusB3-Channel 1 to 16
                                        262144 - BusB16
                                        BusB16+1 to 16 - BusB16-Channel 1 to 16

                                        1024 - Add that value to switch MIDI On
                                        4177951 - MIDI - None 
 integer automation Automation Mode
                                       -1 - Track Automation Mode
                                        0 - Trim/Read
                                        1 - Read
                                        2 - Touch
                                        3 - Write
                                        4 - Latch
                                        5 - Latch Preview 
 optional string TrackStateChunk a TrackStateChunk, whose AUXRECV-entries you want to set 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ ClearRoutingMatrix

Functioncall:

boolean retval = ultraschall.ClearRoutingMatrix(boolean ClearHWOuts, boolean ClearAuxRecvs, boolean ClearTrackMasterSends, boolean ClearMasterTrack, boolean undo)

Description:
Clears all routing-matrix-settings or optionally part of them

returns false in case of an error

Returnvalues:
 boolean retval true, clearing was successful; false, clearing was unsuccessful 

Parameters:
 boolean ClearHWOuts nil or true, clear all HWOuts; false, keep the HWOuts intact 
 boolean ClearAuxRecvs nil or true, clear all Send/Receive-settings; false, keep the Send/Receive-settings intact 
 boolean ClearTrackMasterSends nil or true, clear all send to master-checkboxes; false, keep them intact 
 boolean ClearMasterTrack nil or true, include the Mastertrack as well; false, don't include it 
 boolean undo true, set undo point; false or nil, don't set undo point 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ ClearRoutingMatrix

Functioncall:

boolean retval = ultraschall.ClearRoutingMatrix(boolean ClearHWOuts, boolean ClearAuxRecvs, boolean ClearTrackMasterSends, boolean ClearMasterTrack, boolean undo)

Description:
Clears all routing-matrix-settings or optionally part of them

Returnvalues:
 boolean retval true, clearing was successful; false, clearing was unsuccessful 

Parameters:
 boolean ClearHWOuts nil or true, clear all HWOuts; false, keep the HWOuts intact 
 boolean ClearAuxRecvs nil or true, clear all Send/Receive-settings; false, keep the Send/Receive-settings intact 
 boolean ClearTrackMasterSends nil or true, clear all send to master-checkboxes; false, keep them intact 
 boolean ClearMasterTrack nil or true, include the Mastertrack as well; false, don't include it 
 boolean undo true, set undo point; false or nil, don't set undo point 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ GetAllHWOuts

Functioncall:

table AllHWOuts, integer number_of_tracks = ultraschall.GetAllHWOuts()

Description:
returns a table with all HWOut-settings of all tracks, including master-track(track index: 0)

returned table is of structure:
table["HWOuts"]=true - signals, this is a HWOuts-table; don't change that!
table["number_of_tracks"] - the number of tracks in this table, from track 0(master) to track n
table[tracknumber]["HWOut_count"] - the number of HWOuts of tracknumber, beginning with 1
table[tracknumber]["TrackID"] - the unique id of the track as guid; can be used to get the MediaTrack using reaper.BR_GetMediaTrackByGUID(0, guid)
table[tracknumber][HWOutIndex]["outputchannel"] - the number of outputchannels of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["post_pre_fader"] - the setting of post-pre-fader of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["volume"] - the volume of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["pan"] - the panning of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["mute"] - the mute-setting of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["phase"] - the phase-setting of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["source"] - the source/input of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["pan_law"] - pan-law, default is -1
table[tracknumber][HWOutIndex]["automationmode"] - the automation-mode of this HWOutIndex of tracknumber

See GetTrackHWOut for more details on the individual settings, stored in the entries.

Returnvalues:
 table AllHWOuts a table with all HWOuts of the current project. 
 integer number_of_tracks the number of tracks in the AllMainSends-table 



^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ ApplyAllHWOuts

Functioncall:

boolean retval = ultraschall.ApplyAllHWOuts(table AllHWOuts, optional integer option)

Description:
Takes a table, as returned by GetAllHWOuts with all HWOut-settings of all tracks and applies it to all tracks.

When you set option to 2, the individual entries will be applied to the tracks, that have the guids stored in table
table[tracknumber]["TrackID"], otherwise, this function will apply it to track0 to trackn, which is the same as table["number_of_tracks"].
That way, you can create RoutingSnapshots, that will stay in the right tracks, even if they are ordered differently or when tracks have been added/deleted.

This influences the MasterTrack as well!

expected table is of structure:

table["HWOuts"]=true - signals, this is a HWOuts-table; don't change that!
table["number_of_tracks"] - the number of tracks in this table, from track 0(master) to track n
table[tracknumber]["HWOut_count"] - the number of HWOuts of tracknumber, beginning with 1
table[tracknumber]["TrackID"] - the unique id of the track as guid; can be used to get the MediaTrack using reaper.BR_GetMediaTrackByGUID(0, guid)
table[tracknumber][HWOutIndex]["outputchannel"] - the number of outputchannels of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["post_pre_fader"] - the setting of post-pre-fader of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["volume"] - the volume of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["pan"] - the panning of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["mute"] - the mute-setting of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["phase"] - the phase-setting of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["source"] - the source/input of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["pan_law"] - pan-law, default is -1
table[tracknumber][HWOutIndex]["automationmode"] - the automation-mode of this HWOutIndex of tracknumber

See GetTrackHWOut for more details on the individual settings, stored in the entries.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, it was unsuccessful 

Parameters:
 table AllHWOuts a table with all AllHWOut-entries of the current project 
 optional integer option nil or 1, HWOuts will be applied to Track 0(MasterTrack) to table["number_of_tracks"]; 2, HWOuts will be applied to the tracks with the guid TrackID 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ GetAllAUXSendReceives

Functioncall:

table AllAUXSendReceives, integer number_of_tracks = ultraschall.GetAllAUXSendReceives()

Description:
returns a table with all AUX-SendReceive-settings of all tracks, excluding master-track

returned table is of structure:
table["AllAUXSendReceive"]=true - signals, this is an AllAUXSendReceive-table. Don't alter!
table["number_of_tracks"] - the number of tracks in this table, from track 1 to track n
table[tracknumber]["AUXSendReceives_count"] - the number of AUXSendReceives of tracknumber, beginning with 1
table[tracknumber]["TrackID"] - the unique id of the track as guid; can be used to get the MediaTrack using reaper.BR_GetMediaTrackByGUID(0, guid)
table[tracknumber][AUXSendReceivesIndex]["recv_tracknumber"] - the track, from which to receive audio in this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["recv_track_guid"] - the guid of the receive-track; with that, you can be sure to get the right receive-track, even if trackorder changes
table[tracknumber][AUXSendReceivesIndex]["post_pre_fader"] - the setting of post-pre-fader of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["volume"] - the volume of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["pan"] - the panning of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["mute"] - the mute-setting of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["mono_stereo"] - the mono/stereo-button-setting of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["phase"] - the phase-setting of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["chan_src"] - the audiochannel-source of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["snd_src"] - the send-to-channel-target of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["pan_law"] - pan-law, default is -1
table[tracknumber][AUXSendReceivesIndex]["midichanflag"] - the Midi-channel of this AUXSendReceivesIndex of tracknumber, leave it 0
table[tracknumber][AUXSendReceivesIndex]["automation"] - the automation-mode of this AUXSendReceivesIndex of tracknumber

See GetTrackAUXSendReceives for more details on the individual settings, stored in the entries.

Returnvalues:
 table AllAUXSendReceives a table with all SendReceive-entries of the current project. 
 integer number_of_tracks the number of tracks in the AllMainSends-table 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ ApplyAllAUXSendReceives

Functioncall:

boolean retval = ultraschall.ApplyAllAUXSendReceives(table AllAUXSendReceives, optional integer option)

Description:
akes a table, as returned by GetAllAUXSendReceive with all AUXSendReceive-settings of all tracks and applies it to all tracks.

When you set option to 2, the individual entries will be applied to the tracks, that have the guids stored in table
able[tracknumber]["TrackID"], otherwise, this function will apply it to track1 to trackn, which is the same as table["number_of_tracks"].
That way, you can create RoutingSnapshots, that will stay in the right tracks, even if they are ordered differently or when tracks have been added/deleted.


expected table is of structure:
table["AllAUXSendReceive"]=true - signals, this is an AllAUXSendReceive-table. Don't alter!
table["number_of_tracks"] - the number of tracks in this table, from track 1 to track n
table[tracknumber]["AUXSendReceives_count"] - the number of AUXSendReceives of tracknumber, beginning with 1
table[tracknumber]["TrackID"] - the unique id of the track as guid; can be used to get the MediaTrack using reaper.BR_GetMediaTrackByGUID(0, guid)
table[tracknumber][AUXSendReceivesIndex]["recv_tracknumber"] - the track, from which to receive audio in this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["recv_track_guid"] - the guid of the receive-track; with that, you can be sure to get the right receive-track, even if trackorder changes
table[tracknumber][AUXSendReceivesIndex]["post_pre_fader"] - the setting of post-pre-fader of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["volume"] - the volume of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["pan"] - the panning of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["mute"] - the mute-setting of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["mono_stereo"] - the mono/stereo-button-setting of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["phase"] - the phase-setting of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["chan_src"] - the audiochannel-source of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["snd_src"] - the send-to-channel-target of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["pan_law"] - pan-law, default is -1
table[tracknumber][AUXSendReceivesIndex]["midichanflag"] - the Midi-channel of this AUXSendReceivesIndex of tracknumber, leave it 0
table[tracknumber][AUXSendReceivesIndex]["automation"] - the automation-mode of this AUXSendReceivesIndex of tracknumber

See GetTrackAUXSendReceives for more details on the individual settings, stored in the entries.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, it was unsuccessful 

Parameters:
 table AllAUXSendReceives a table with all AllAUXSendReceive-entries of the current project 
 optional integer option nil or 1, AUXRecvs will be applied to Track 1 to table["number_of_tracks"]; 2, AUXRecvs will be applied to the tracks with the guid TrackID 


^ Reaper version 5.965Ultraschall version 4.00SWS version 2.9.7Lua version 5.3 ^ GetAllMainSendStates

Functioncall:

table AllMainSends, integer number_of_tracks = ultraschall.GetAllMainSendStates()

Description:
returns a table with all MainSend-settings of all tracks, excluding master-track.

The MainSend-settings are the settings, if a certain track sends it's signal to the Master Track

returned table is of structure:
Table["number_of_tracks"] - The number of tracks in this table, from track 1 to track n
Table["MainSend"]=true - signals, this is an AllMainSends-table
table[tracknumber]["TrackID"] - the unique id of the track as guid; can be used to get the MediaTrack using reaper.BR_GetMediaTrackByGUID(0, guid)
Table[tracknumber]["MainSendOn"] - Send to Master on(1) or off(1)
Table[tracknumber]["ParentChannels"] - the parent channels of this track

See GetTrackMainSendState for more details on the individual settings, stored in the entries.

Returnvalues:
 table AllMainSends a table with all AllMainSends-entries of the current project. 
 integer number_of_tracks the number of tracks in the AllMainSends-table 



^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ ApplyAllMainSendStates

Functioncall:

boolean retval = ultraschall.ApplyAllMainSendStates(table AllMainSendsTable, optional integer option)

Description:
akes a table, as returned by GetAllMainSendStates with all MainSend-settings of all tracks and applies it to all tracks.

The MainSend-settings are the settings, if a certain track sends it's signal to the Master Track.

When you set option to 2, the individual entries will be applied to the tracks, that have the guids stored in table
able[tracknumber]["TrackID"], otherwise, this function will apply it to track0 to trackn, which is the same as table["number_of_tracks"].
That way, you can create RoutingSnapshots, that will stay in the right tracks, even if they are ordered differently or when tracks have been added/deleted.

This influences the MasterTrack as well!

expected table is of structure:
Table["number_of_tracks"] - The number of tracks in this table, from track 1 to track n
Table["MainSend"]=true - signals, this is an AllMainSends-table
table[tracknumber]["TrackID"] - the unique id of the track as guid; can be used to get the MediaTrack using reaper.BR_GetMediaTrackByGUID(0, guid)
Table[tracknumber]["MainSendOn"] - Send to Master on(1) or off(1)
Table[tracknumber]["ParentChannels"] - the parent channels of this track

See GetTrackMainSendState for more details on the individual settings, stored in the entries.

returns false in case of an error

Returnvalues:
 boolean retval true, setting was successful; false, it was unsuccessful 

Parameters:
 table AllMainSends a table with all AllMainSends-entries of the current project 
 optional integer option nil or 1, MainSend-settings will be applied to Track 1 to table["number_of_tracks"]; 2, MasterSends will be applied to the tracks with the guid stored in table[tracknumber]["TrackID"]. 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ AreHWOutsTablesEqual

Functioncall:

boolean retval = ultraschall.AreHWOutsTablesEqual(table AllHWOuts, table AllHWOuts2, optional integer option)

Description:
Compares two HWOuts-tables, as returned by GetAllHWOuts or GetAllHWOuts2

if option=2 then it will also compare, if the stored track-guids are the equal. Otherwise, it will only check the individual settings, even if the guids are different between the two tables.

returns false in case of an error

Returnvalues:
 boolean retval true, if the two tables are equal HWOuts; false, if not 

Parameters:
 table AllHWOuts a table with all HWOut-settings of all tracks 
 table AllHWOuts2 a table with all HWOut-settings of all tracks, that you want to compare to AllHWOuts 
 optional integer option nil or 1, to compare everything, except the stored TrackGuids; 2, include comparing the stored TrackGuids as well 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ AreMainSendsTablesEqual

Functioncall:

boolean retval = ultraschall.AreMainSendsTablesEqual(table AllMainSends, table AllMainSends2, optional integer option)

Description:
Compares two AllMainSends-tables, as returned by GetAllMainSendStates or GetAllMainSendStates2

if option=2 then it will also compare, if the stored track-guids are the equal. Otherwise, it will only check the individual settings, even if the guids are different between the two tables.

returns false in case of an error

Returnvalues:
 boolean retval true, if the two tables are equal AllMainSends; false, if not 

Parameters:
 table AllMainSends a table with all AllMainSends-settings of all tracks 
 table AllMainSends2 a table with all AllMainSends-settings of all tracks, that you want to compare to AllMainSends 
 optional integer option nil or 1, to compare everything, except the stored TrackGuids; 2, include comparing the stored TrackGuids as well 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ AreAUXSendReceivesTablesEqual

Functioncall:

boolean retval = ultraschall.AreAUXSendReceivesTablesEqual(table AllAUXSendReceives, table AllAUXSendReceives2, optional integer option)

Description:
Compares two AllAUXSendReceives-tables, as returned by GetAllAUXSendReceives or GetAllAUXSendReceives2

if option=2 then it will also compare, if the stored track-guids are the equal. Otherwise, it will only check the individual settings, even if the guids are different between the two tables.

returns false in case of an error

Returnvalues:
 boolean retval true, if the two tables are equal AllMainSends; false, if not 

Parameters:
 table AllAUXSendReceives a table with all AllAUXSendReceives-settings of all tracks 
 table AllAUXSendReceives2 a table with all AllAUXSendReceives-settings of all tracks, that you want to compare to AllAUXSendReceives 
 optional integer option nil or 1, to compare everything, except the stored TrackGuids; 2, include comparing the stored TrackGuids as well 


^ Reaper version 5.92Ultraschall version 4.00Lua version 5.3 ^ GetTrackStateChunk_Tracknumber

Functioncall:

boolean retval, string trackstatechunk = ultraschall.GetTrackStateChunk_Tracknumber(integer tracknumber)

Description:
returns the trackstatechunk for track tracknumber

returns false in case of an error

Returnvalues:
 boolean retval true in case of success; false in case of error 
 string trackstatechunk the trackstatechunk for track tracknumber 

Parameters:
 integer tracknumber the tracknumber, 0 for master track, 1 for track 1, 2 for track 2, etc.     


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetTrackState_NumbersOnly

Functioncall:

table values = ultraschall.GetTrackState_NumbersOnly(string state, optional string TrackStateChunk, optional string functionname, optional boolean numbertoggle)

Description:
returns a state of a TrackStateChunk.

It only supports single-entry-states with numbers/integers, separated by spaces!
All other values will be set to nil and strings with spaces will produce weird results!

returns nil in case of an error

Returnvalues:
 table values all values found as numerical indexed array 

Parameters:
 string state the state, whose attributes you want to retrieve 
 string TrackStateChunk a statechunk of a track 
 optional string functionname if this function is used within specific gettrackstate-functions, pass here the "host"-functionname, so error-messages will reflect that 
 optional boolean numbertoggle true or nil; converts all values to numbers; false, keep them as string versions 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackName

Functioncall:

string trackname = ultraschall.GetTrackName(integer tracknumber, optional string TrackStateChunk)

Description:
returns name of the track.

It's the entry NAME

returns nil in case of an error

Returnvalues:
 string trackname the name of the track 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackPeakColorState

Functioncall:

integer PeakColorState = ultraschall.GetTrackPeakColorState(integer tracknumber, optional string TrackStateChunk)

Description:
returns state of the PeakColor-number, which is the trackcolor. Will be returned as string, to avoid losing trailing or preceding zeros.

It's the entry PEAKCOL

returns nil in case of an error

Returnvalues:
 string PeakColorState the color of the track 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackBeatState

Functioncall:

number BeatState = ultraschall.GetTrackBeatState(integer tracknumber,optional string TrackStateChunk)

Description:
returns Track-BeatState.

It's the entry BEAT

returns nil in case of an error

Returnvalues:
 number BeatState -1 - Project time base; 0 - Time; 1 - Beats position, length, rate; 2 - Beats position only 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackAutoRecArmState

Functioncall:

integer AutoRecArmState = ultraschall.GetTrackAutoRecArmState(integer tracknumber, optional string TrackStateChunk)

Description:
returns if the track is in AutoRecArm, when selected. Returns nil if not.

It's the entry AUTO_RECARM

returns nil in case of an error

Returnvalues:
 integer AutoRecArmState state of autorecarm; 1 for set; nil, if unset 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackMuteSoloState

Functioncall:

integer Mute, integer Solo, integer SoloDefeat = ultraschall.GetTrackMuteSoloState(integer tracknumber, optional string TrackStateChunk)

Description:
returns states of Mute and Solo-Buttons.

It's the entry MUTESOLO

returns nil in case of an error

Returnvalues:
 integer Mute Mute set to 0 - Mute off, 1 - Mute On 
 integer Solo Solo set to 0 - Solo off, 1 - Solo ignore routing, 2 - Solo on 
 integer SoloDefeat SoloDefeat set to 0 - off, 1 - on 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackIPhaseState

Functioncall:

number IPhase = ultraschall.GetTrackIPhaseState(integer tracknumber, optional string TrackStateChunk)

Description:
returns state of the IPhase. If the Phase-button is pressed, it will return 1, else it will return 0.

It's the entry IPHASE

returns nil in case of an error

Returnvalues:
 number IPhase state of the phase-button; 0, normal phase; 1, inverted phase(180°) 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackIsBusState

Functioncall:

integer busstate1, integer busstate2 = ultraschall.GetTrackIsBusState(integer tracknumber, optional string trackstatechunk)

Description:
returns busstate of the track, means: if it's a folder track

It's the entry ISBUS

returns nil in case of an error

Returnvalues:
 integer busstate1=0, integer busstate2=0 track is no folder
or 
 integer busstate1=1, integer busstate2=1 track is a folder
or 
 integer busstate1=1, integer busstate2=2 track is a folder but view of all subtracks not compactible
or 
 integer busstate1=2, integer busstate2= 1 - track is last track in folder(no tracks of subfolders follow) 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ GetTrackBusCompState

Functioncall:

number BusCompState1, number BusCompState2, number BusCompState3, number BusCompState4, number BusCompState5 = ultraschall.GetTrackBusCompState(integer tracknumber, optional string TrackStateChunk)

Description:
returns BusCompState, if the tracks in a folder are compacted or not.

It's the entry BUSCOMP

returns nil in case of an error

Returnvalues:
 number BusCompState1 0 - no compacting, 1 - compacted tracks, 2 - minimized tracks 
 number BusCompState2 0 - unknown,1 - unknown 
 number BusCompState3 0 - unknown,1 - unknown 
 number BusCompState4 0 - unknown,1 - unknown 
 number BusCompState5 0 - unknown,1 - unknown 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackShowInMixState

Functioncall:

integer MCPvisible, number MCP_FX_visible, number MCPTrackSendsVisible, integer TCPvisible, number ShowInMix5, number ShowInMix6, number ShowInMix7, number ShowInMix8 = ultraschall.GetTrackShowInMixState(integer tracknumber, optional string TrackStateChunk)

Description:
returns Show in Mix-state.

It's the entry SHOWINMIX

returns nil in case of an error

Returnvalues:
 integer MCPvisible 0 invisible, 1 visible 
 number MCP_FX_visible 0 visible, 1 FX-Parameters visible, 2 invisible 
 number MCPTrackSendsVisible 0 & 1.1 and higher TrackSends in MCP visible, every other number makes them invisible 
 integer TCPvisible 0 track is invisible in TCP, 1 track is visible in TCP 
 number ShowInMix5 unknown 
 number ShowInMix6 unknown 
 number ShowInMix7 unknown 
 number ShowInMix8 unknown 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackFreeModeState

Functioncall:

integer FreeModeState = ultraschall.GetTrackFreeModeState(integer tracknumber, optional string TrackStateChunk)

Description:
returns if the track has track free item positioning enabled(1) or not(0).

It's the entry FREEMODE

returns nil in case of an error

Returnvalues:
 integer FreeModeState 1 - enabled, 0 - not enabled 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackRecState

Functioncall:

integer ArmState, integer InputChannel, integer MonitorInput, integer RecInput, integer MonitorWhileRec, integer presPDCdelay, integer RecordingPath = ultraschall.GetTrackRecState(integer tracknumber, optional string TrackStateChunk)

Description:
returns Track Rec State.

It's the entry REC

returns nil in case of an error

Returnvalues:
 integer ArmState returns 1(armed) or 0(unarmed)     
 integer InputChannel returns the InputChannel
-1 - No Input
1-16(more?) - Mono Input Channel
1024 - Stereo Channel 1 and 2
1026 - Stereo Channel 3 and 4
1028 - Stereo Channel 5 and 6
...
5056 - Virtual MIDI Keyboard all Channels
5057 - Virtual MIDI Keyboard Channel 1
...
5072 - Virtual MIDI Keyboard Channel 16
5088 - All MIDI Inputs - All Channels
5089 - All MIDI Inputs - Channel 1
...
5104 - All MIDI Inputs - Channel 16     
 integer MonitorInput 0 monitor off, 1 monitor on, 2 monitor on tape audio style      
 integer RecInput returns rec-input type
0 input(Audio or Midi)
1 Record Output Stereo
2 Disabled, Input Monitoring Only
3 Record Output Stereo, Latency Compensated
4 Record Output MIDI
5 Record Output Mono
6 Record Output Mono, Latency Compensated
7 MIDI overdub
8 MIDI replace
9 MIDI touch replace
10 Record Output Multichannel
11 Record Output Multichannel, Latency Compensated
12 Record Input Force Mono
13 Record Input Force Stereo
14 Record Input Force Multichannel
15 Record Input Force MIDI
16 MIDI latch replace 
 integer MonitorWhileRec Monitor Trackmedia when recording, 0 is off, 1 is on 
 integer presPDCdelay preserve PDC delayed monitoring in media items 
 integer RecordingPath recording path used
0 - Primary Recording-Path only
1 - Secondary Recording-Path only
2 - Primary Recording Path and Secondary Recording Path(for invisible backup) 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackVUState

Functioncall:

integer VUState = ultraschall.GetTrackVUState(integer tracknumber, optional string TrackStateChunk)

Description:
returns VUState.

It's the entry VU

returns nil in case of an error

Returnvalues:
 integer VUState nil if MultiChannelMetering is off, 2 if MultichannelMetering is on, 3 Metering is off 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.941Ultraschall version 4.00Lua version 5.3 ^ GetTrackHeightState

Functioncall:

integer height, integer heightstate2, integer unknown = ultraschall.GetTrackHeightState(integer tracknumber, optional string TrackStateChunk)

Description:
returns height of the track.

It's the entry TRACKHEIGHT

returns nil in case of an error

Returnvalues:
 integer height 24 up to 443 
 integer heightstate2 0 - use height, 1 - compact the track and ignore the height 
 integer lock_trackheight 0, don't lock the trackheight; 1, lock the trackheight 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackINQState

Functioncall:

integer quantMIDI, integer quantPOS, integer quantNoteOffs, number quantToFractBeat, integer quantStrength, integer swingStrength, integer quantRangeMin, integer quantRangeMax = ultraschall.GetTrackINQState(integer tracknumber, optional string TrackStateChunk)

Description:
Gets INQ-state, mostly the quantize-settings for MIDI, as set in the "Track: View track recording settings (MIDI quantize, file format/path) for last touched track"-dialog (action 40604)

It's the entry INQ

returns nil in case of an error

Returnvalues:
 integer quantMIDI quantize MIDI; 0 or 1 
 integer quantPOS quantize to position; -1,prev; 0, nearest; 1, next 
 integer quantNoteOffs quantize note-offs; 0 or 1 
 number quantToFractBeat quantize to (fraction of beat) 
 integer quantStrength quantize strength; -128 to 127 
 integer swingStrength swing strength; -128 to 127 
 integer quantRangeMin quantize range minimum; -128 to 127 
 integer quantRangeMax quantize range maximum; -128 to 127 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackNChansState

Functioncall:

integer channelnumber = ultraschall.GetTrackNChansState(integer tracknumber, optional string TrackStateChunk)

Description:
returns the number of channels for this track, as set in the routing.

It's the entry NCHAN

returns nil in case of an error

Returnvalues:
 integer channelnumber number of channels for this track 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackBypFXState

Functioncall:

integer FXState = ultraschall.GetTrackBypFXState(integer tracknumber, optional string TrackStateChunk)

Description:
returns the off/bypass(0) or nobypass(1) state of the FX-Chain

It's the entry FX

returns nil in case of an error

Returnvalues:
 integer FXState off/bypass(0) or nobypass(1) 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackPerfState

Functioncall:

integer TrackPerfState = ultraschall.GetTrackPerfState(integer tracknumber, optional string TrackStateChunk)

Description:
returns TrackPerformance-state

It's the entry PERF

returns nil in case of an error

Returnvalues:
 integer TrackPerfState TrackPerformance-state
0 - allow anticipative FX + allow media buffering
1 - allow anticipative FX + prevent media buffering
2 - prevent anticipative FX + allow media buffering
3 - prevent anticipative FX + prevent media buffering
settings seem to repeat with higher numbers (e.g. 4(like 0) - allow anticipative FX + allow media buffering) 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackMIDIOutState

Functioncall:

integer MidiOutState = ultraschall.GetTrackMIDIOutState(integer tracknumber, optional string TrackStateChunk)

Description:
returns MIDI_Out-State, as set in the Routing-Settings

It's the entry MIDIOUT

returns nil in case of an error

Returnvalues:
 integer MidiOutState MIDI_Out-State, as set in the Routing-Settings
-1 no output
416 - microsoft GS wavetable synth - send to original channels
417-432 - microsoft GS wavetable synth - send to channel state minus 416
-31 - no Output, send to original channel 1
-16 - no Output, send to original channel 16 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackMainSendState

Functioncall:

integer MainSendOn, integer ParentChannels = ultraschall.GetTrackMainSendState(integer tracknumber, optional string TrackStateChunk)

Description:
returns, if Main-Send is on(1) or off(0) and the ParentChannels(0-63), as set in the Routing-Settings.

It's the entry MAINSEND

returns nil in case of an error

Returnvalues:
 integer MainSendOn Main-Send is on(1) or off(0) 
 integer ParentChannels ParentChannels(0-63) 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackGroupFlagsState

Functioncall:

integer GroupState_as_Flags, array IndividualGroupState_Flags = ultraschall.GetTrackGroupFlagsState(integer tracknumber, optional string TrackStateChunk)

Description:
returns the state of the group-flags, as set in the menu Track Grouping Parameters. Returns a 23bit flagvalue as well as an array with 32 individual 23bit-flagvalues. You must use bitoperations to get the individual values.

You can reach the Group-Flag-Settings in the context-menu of a track.

The groups_bitfield_table contains up to 23 entries. Every entry represents one of the checkboxes in the Track grouping parameters-dialog

Each entry is a bitfield, that represents the groups, in which this flag is set to checked or unchecked.

So if you want to get Volume Master(table entry 1) to check if it's set in Group 1(2^0=1) and 3(2^2=4):
  group1=groups_bitfield_table[1]&1
  group2=groups_bitfield_table[1]&4

The following flags(and their accompanying array-entry-index) are available:
                       1 - Volume Master
                       2 - Volume Follow
                       3 - Pan Master
                       4 - Pan Follow
                       5 - Mute Master
                       6 - Mute Follow
                       7 - Solo Master
                       8 - Solo Follow
                       9 - Record Arm Master
                       10 - Record Arm Follow
                       11 - Polarity/Phase Master
                       12 - Polarity/Phase Follow
                       13 - Automation Mode Master
                       14 - Automation Mode Follow
                       15 - Reverse Volume
                       16 - Reverse Pan
                       17 - Do not master when slaving
                       18 - Reverse Width
                       19 - Width Master
                       20 - Width Follow
                       21 - VCA Master
                       22 - VCA Follow
                       23 - VCA pre-FX Follow

The GroupState_as_Flags-bitfield is a hint, if a certain flag is set in any of the groups. So, if you want to know, if VCA Master is set in any group, check if flag &1048576 (2^20) is set to 1048576.

This function will work only for Groups 1 to 32. To get Groups 33 to 64, use GetTrackGroupFlags_HighState instead!

It's the entry GROUP_FLAGS

returns -1 in case of failure

Returnvalues:
 integer GroupState_as_Flags returns a flagvalue with 23 bits, that tells you, which grouping-flag is set in at least one of the 32 groups available.
returns -1 in case of failure

the following flags are available:
2^0 - Volume Master
2^1 - Volume Follow
2^2 - Pan Master
2^3 - Pan Follow
2^4 - Mute Master
2^5 - Mute Follow
2^6 - Solo Master
2^7 - Solo Follow
2^8 - Record Arm Master
2^9 - Record Arm Follow
2^10 - Polarity/Phase Master
2^11 - Polarity/Phase Follow
2^12 - Automation Mode Master
2^13 - Automation Mode Follow
2^14 - Reverse Volume
2^15 - Reverse Pan
2^16 - Do not master when slaving
2^17 - Reverse Width
2^18 - Width Master
2^19 - Width Follow
2^20 - VCA Master
2^21 - VCA Follow
2^22 - VCA pre-FX Follow 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.941Ultraschall version 4.00Lua version 5.3 ^ GetTrackGroupFlags_HighState

Functioncall:

integer GroupState_as_Flags, array IndividualGroupState_Flags = ultraschall.GetTrackGroupFlags_HighState(integer tracknumber, optional string TrackStateChunk)

Description:
returns the state of the group-flags, as set in the menu Track Grouping Parameters. Returns a 23bit flagvalue as well as an array with 32 individual 23bit-flagvalues. You must use bitoperations to get the individual values.

You can reach the Group-Flag-Settings in the context-menu of a track.

The groups_bitfield_table contains up to 23 entries. Every entry represents one of the checkboxes in the Track grouping parameters-dialog

Each entry is a bitfield, that represents the groups, in which this flag is set to checked or unchecked.

So if you want to get Volume Master(table entry 1) to check if it's set in Group 33(2^0=1) and 35(2^2=4):
  group1=groups_bitfield_table[1]&1
  group2=groups_bitfield_table[1]&4

The following flags(and their accompanying array-entry-index) are available:
                       1 - Volume Master
                       2 - Volume Follow
                       3 - Pan Master
                       4 - Pan Follow
                       5 - Mute Master
                       6 - Mute Follow
                       7 - Solo Master
                       8 - Solo Follow
                       9 - Record Arm Master
                       10 - Record Arm Follow
                       11 - Polarity/Phase Master
                       12 - Polarity/Phase Follow
                       13 - Automation Mode Master
                       14 - Automation Mode Follow
                       15 - Reverse Volume
                       16 - Reverse Pan
                       17 - Do not master when slaving
                       18 - Reverse Width
                       19 - Width Master
                       20 - Width Follow
                       21 - VCA Master
                       22 - VCA Follow
                       23 - VCA pre-FX Follow

The GroupState_as_Flags-bitfield is a hint, if a certain flag is set in any of the groups. So, if you want to know, if VCA Master is set in any group, check if flag &1048576 (2^20) is set to 1048576.

This function will work only for Groups 33(2^0) to 64(2^31). To get Groups 1 to 32, use GetTrackGroupFlagsState instead!

It's the entry GROUP_FLAGS_HIGH

returns -1 in case of failure

Returnvalues:
 integer GroupState_as_Flags returns a flagvalue with 23 bits, that tells you, which grouping-flag is set in at least one of the 32 groups available.
returns -1 in case of failure

the following flags are available:
2^0 - Volume Master
2^1 - Volume Follow
2^2 - Pan Master
2^3 - Pan Follow
2^4 - Mute Master
2^5 - Mute Follow
2^6 - Solo Master
2^7 - Solo Follow
2^8 - Record Arm Master
2^9 - Record Arm Follow
2^10 - Polarity/Phase Master
2^11 - Polarity/Phase Follow
2^12 - Automation Mode Master
2^13 - Automation Mode Follow
2^14 - Reverse Volume
2^15 - Reverse Pan
2^16 - Do not master when slaving
2^17 - Reverse Width
2^18 - Width Master
2^19 - Width Follow
2^20 - VCA Master
2^21 - VCA Follow
2^22 - VCA pre-FX Follow 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackLockState

Functioncall:

integer lockedstate = ultraschall.GetTrackLockState(integer tracknumber, optional string TrackStateChunk)

Description:
returns, if the track-controls of this track are locked(1) or not(nil).

It's the entry LOCK
Only the LOCK within TrackStateChunks, but not MediaItemStateChunks

returns nil in case of an error

Returnvalues:
 integer lockedstate locked(1) or not(nil) 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackLayoutNames

Functioncall:

string TCP_Layoutname, string MCP_Layoutname = ultraschall.GetTrackLayoutNames(integer tracknumber, optional string TrackStateChunk)

Description:
returns the current selected layouts for TrackControlPanel and MixerControlPanel for this track as strings. Returns nil, if default is set.

It's the entry LAYOUTS

returns nil in case of an error

Returnvalues:
 string TCP_Layoutname name of the TCP-Layoutname 
 string MCP_Layoutname name of the MCP-Layoutname 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackAutomodeState

Functioncall:

integer automodestate = ultraschall.GetTrackAutomodeState(integer tracknumber, optional string TrackStateChunk)

Description:
returns, if the automation-mode for envelopes of this track

It's the entry AUTOMODE

returns nil in case of an error

Returnvalues:
 integer automodestate is set to 0 - trim/read, 1 - read, 2 - touch, 3 - write, 4 - latch. 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackIcon_Filename

Functioncall:

string filename_with_path = ultraschall.GetTrackIcon_Filename(integer tracknumber, optional string TrackStateChunk)

Description:
returns the filename with path for the track-icon of the current track. Returns nil, if no trackicon has been set.

It's the entry TRACKIMGFN

returns nil in case of an error

Returnvalues:
 string filename_with_path filename with path for the current track-icon. 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackRecCFG

Functioncall:

string reccfg = ultraschall.GetTrackRecCFG(integer tracknumber, optional string TrackStateChunk)

Description:
returns the Rec-configuration-string, with which recordings are made. Returns nil, if no reccfg exists.

It's the entry
returns nil in case of an error

Returnvalues:
 string reccfg the string, that encodes the recording configuration of the track. 
 integer reccfgnr the number of the recording-configuration of the track;
0, use default project rec-setting
1, use track-customized rec-setting, as set in the "Track: View track recording settings (MIDI quantize, file format/path) for last touched track"-dialog (action 40604) 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackMidiInputChanMap

Functioncall:

integer MidiInputChanMap_state = ultraschall.GetTrackMidiInputChanMap(integer tracknumber, optional string TrackStateChunk)

Description:
returns the state of the MIDIInputChanMap for the current track, as set in the Input-MIDI->Map Input to Channel menu. 0 for channel 1, 2 for channel 2, etc. Nil, if not existing.

It's the entry MIDI_INPUT_CHANMAP

returns nil in case of an error

Returnvalues:
 integer MidiInputChanMap_state 0 for channel 1, 1 for channel 2, ... 15 for channel 16; nil, source channel. 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackMidiCTL

Functioncall:

integer LinkedToMidiChannel, integer unknown = ultraschall.GetTrackMidiCTL(integer tracknumber, optional string TrackStateChunk)

Description:
returns linked to Midi channel and an unknown value. Nil if not existing.

It's the entry MIDICTL

returns nil in case of an error

Returnvalues:
 integer LinkedToMidiChannel linked to midichannel 
 integer unknown unknown 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackWidth

Functioncall:

number width = ultraschall.GetTrackWidth(integer tracknumber, optional string TrackStateChunk)

Description:
returns width of the track. 1 if set to +100%.

Note for TrackStateChunk-enthusiasts: When set to +100%, it is not stored in the TrackStateChunk

It's the entry WIDTH

returns nil in case of an error

Returnvalues:
 number width width of the track, from -1(-100%) to 1(+100%) 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackPanMode

Functioncall:

integer PanMode = ultraschall.GetTrackPanMode(integer tracknumber, optional string TrackStateChunk)

Description:
returns Panmode of the track.

It's the entry PANMODE

returns nil in case of an error

Returnvalues:
 integer PanMode the Panmode of the track
nil - Project Default
0 - Reaper 3.x balance (deprecated)
3 - Stereo Balance/ Mono Pan(Default)
5 - Stereo Balance
6 - Dual Pan 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackMidiColorMapFn

Functioncall:

string MidiColorMapFn = ultraschall.GetTrackMidiColorMapFn(integer tracknumber, optional string TrackStateChunk)

Description:
returns MidiColorMap-Filename of the track. Nil if not existing.

It's the entry MIDICOLORMAPFN

returns nil in case of an error

Returnvalues:
 string MidiColorMapFn the MidiColorMap-Filename; nil if not existing 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackMidiBankProgFn

Functioncall:

string MidiBankProgFn = ultraschall.GetTrackMidiBankProgFn(integer tracknumber, optional string TrackStateChunk)

Description:
returns MidiBankProg-Filename of the track. Nil if not existing.

It's the entry MIDIBANKPROGFN

returns nil in case of an error

Returnvalues:
 string MidiBankProgFn the MidiBankProg-Filename; nil if not existing 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackMidiTextStrFn

Functioncall:

string MidiTextStrFn = ultraschall.GetTrackMidiTextStrFn(integer tracknumber, optional string TrackStateChunk)

Description:
returns MidiTextStrFn-Filename of the track. Nil if not existing.

It's the entry MIDIEXTSTRFN

returns nil in case of an error

Returnvalues:
 string MidiTextStrFn the MidiTextStrFn-Filename; nil if not existing 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackID

Functioncall:

string TrackID = ultraschall.GetTrackID(integer tracknumber, optional string TrackStateChunk)

Description:
returns TrackID of the track.

It's the entry TRACKID

returns nil in case of an error

Returnvalues:
 string TrackID the TrackID as GUID 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackScore

Functioncall:

integer Score1, integer Score2, number Score3, number Score4 = ultraschall.GetTrackScore(integer tracknumber, optional string TrackStateChunk)

Description:
returns Score of the track.

It's the entry SCORE

returns nil in case of an error

Returnvalues:
 integer Score1 unknown  
 integer Score2 unknown 
 number Score3 unknown 
 number Score4 unknown 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetTrackVolPan

Functioncall:

number Vol, number Pan, number OverridePanLaw, number unknown, number unknown2 = ultraschall.GetTrackVolPan(integer tracknumber, optional string TrackStateChunk)

Description:
returns Vol and Pan-states of the track.

It's the entry VOLPAN

returns nil in case of an error

Returnvalues:
 number Vol Volume Settings
-Inf dB(0) to +12dB (3.98107170553497) 
 number Pan Pan Settings
-1(-100%); 0(center); 1(100% R) 
 number OverridePanLaw Override Default Pan Track Law
0dB(1) to -144dB(0.00000006309573) 
 number unknown unknown 
 number unknown2 unknown 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master track; -1, if you want to use the parameter TrackStateChunk instead. 
 optional string TrackStateChunk a TrackStateChunk that you want to use, instead of a given track 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackName

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackName(integer tracknumber, string name, optional string TrackStateChunk)

Description:
Set the name of a track or a trackstatechunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 string name new name of the track 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackPeakColorState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackPeakColorState(integer tracknumber, integer colorvalue, optional string TrackStateChunk)

Description:
Set the color of the track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 integer colorvalue the color for the track 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackBeatState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackBeatState(integer tracknumber, integer beatstate, optional string TrackStateChunk)

Description:
Set the timebase for a track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 integer beatstate tracktimebase for this track; -1 - Project time base, 0 - Time, 1 - Beats position, length, rate, 2 - Beats position only 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackAutoRecArmState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackAutoRecArmState(integer tracknumber, integer autorecarmstate, optional string TrackStateChunk)

Description:
Set the AutoRecArmState for a track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 integer autorecarmstate autorecarmstate - 1 - autorecarm on, <> than 1 - off 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackMuteSoloState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackMuteSoloState(integer tracknumber, integer Mute, integer Solo, integer SoloDefeat, optional string TrackStateChunk)

Description:
Set the Track Mute/Solo/Solodefeat for a track or a TrackStateChunk.
Has no real effect on master track.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 integer Mute Mute set to 0 - Mute off, 1 - Mute On 
 integer Solo Solo set to 0 - Solo off, 1 - Solo ignore routing, 2 - Solo on 
 integer SoloDefeat SoloDefeat set to 0 - off, 1 - on 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackIPhaseState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackIPhaseState(integer tracknumber, integer iphasestate, optional string TrackStateChunk)

Description:
Sets IPhase, the Phase-Buttonstate of the track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 integer iphasestate 0-off, <> than 0-on 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackIsBusState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackIsBusState(integer tracknumber, integer busstate1, integer busstate2, optional string TrackStateChunk)

Description:
Sets ISBUS-state of the track or a TrackStateChunk; if it's a folder track.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; -1 if you want to use parameter TrackStateChunk 
 integer busstate1=0, integer busstate2=0 track is no folder 
 integer busstate1=1, integer busstate2=1 track is a folder 
 integer busstate1=1, integer busstate2=2 track is a folder but view of all subtracks not compactible 
 integer busstate1=2, integer busstate2= 1 - track is last track in folder(no tracks of subfolders follow) 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackBusCompState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackBusCompState(integer tracknumber, integer buscompstate1, integer buscompstate2, optional string TrackStateChunk)

Description:
Sets BUSCOMP-state of the track or a TrackStateChunk; This is the state, if tracks in a folder are compacted or not.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; -1 if you want to use parameter TrackStateChunk 
 integer buscompstate1 - 0 - no compacting, 1 - compacted tracks, 2 - minimized tracks 
 integer buscompstate2 - 0 - unknown, 1 - unknown 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackShowInMixState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackShowInMixState(integer tracknumber, integer MCPvisible, number MCP_FX_visible, number MCP_TrackSendsVisible, integer TCPvisible, number ShowInMix5, integer ShowInMix6, integer ShowInMix7, integer ShowInMix8, optional string TrackStateChunk)

Description:
Sets SHOWINMIX, that sets visibility of track or TrackStateChunk in MCP and TCP.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 integer MCPvisible 0 invisible, 1 visible 
 number MCP_FX_visible 0 visible, 1 FX-Parameters visible, 2 invisible 
 number MCPTrackSendsVisible 0 & 1.1 and higher TrackSends in MCP visible, every other number makes them invisible 
 integer TCPvisible 0 track is invisible in TCP, 1 track is visible in TCP
with Master-Track, 1 shows all active envelopes, 0 hides all active envelopes 
 number ShowInMix5 unknown 
 integer ShowInMix6 unknown 
 integer ShowInMix7 unknown 
 integer ShowInMix8 unknown 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackFreeModeState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackFreeModeState(integer tracknumber, integer freemodestate, optional string TrackStateChunk)

Description:
Sets FREEMODE-state of a track or a TrackStateChunk; enables Track-Free Item Positioning.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; -1 if you want to use parameter TrackStateChunk 
 integer freemodestate 0 - off, 1 - on 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackRecState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackRecState(integer tracknumber, integer ArmState, integer InputChannel, integer MonitorInput, integer RecInput, integer MonitorWhileRec, integer presPDCdelay, integer RecordingPath, optional string TrackStateChunk)

Description:
Sets REC, that sets the Recording-state of the track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 integer ArmState set to 1(armed) or 0(unarmed)     
 integer InputChannel the InputChannel
-1 - No Input
1-16(more?) - Mono Input Channel
1024 - Stereo Channel 1 and 2
1026 - Stereo Channel 3 and 4
1028 - Stereo Channel 5 and 6
...
5056 - Virtual MIDI Keyboard all Channels
5057 - Virtual MIDI Keyboard Channel 1
...
5072 - Virtual MIDI Keyboard Channel 16
5088 - All MIDI Inputs - All Channels
5089 - All MIDI Inputs - Channel 1
...
5104 - All MIDI Inputs - Channel 16 
 integer Monitor Input 0 monitor off, 1 monitor on, 2 monitor on tape audio style     
 integer RecInput the rec-input type
0 input(Audio or Midi)
1 Record Output Stereo
2 Disabled, Input Monitoring Only
3 Record Output Stereo, Latency Compensated
4 Record Output MIDI
5 Record Output Mono
6 Record Output Mono, Latency Compensated
7 MIDI overdub
8 MIDI replace
9 MIDI touch replace
10 Record Output Multichannel
11 Record Output Multichannel, Latency Compensated
12 Record Input Force Mono
13 Record Input Force Stereo
14 Record Input Force Multichannel
15 Record Input Force MIDI
16 MIDI latch replace 
 integer MonitorWhileRec Monitor Trackmedia when recording, 0 is off, 1 is on 
 integer presPDCdelay preserve PDC delayed monitoring in media items 
 integer RecordingPath 0 Primary Recording-Path only, 1 Secondary Recording-Path only, 2 Primary Recording Path and Secondary Recording Path(for invisible backup) 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackVUState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackVUState(integer tracknumber, integer VUState, optional string TrackStateChunk)

Description:
Sets VU-state of a track or a TrackStateChunk; the way metering shows.

Has no real effect on master track.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 integer VUState 0 MultiChannelMetering is off, 2 MultichannelMetering is on, 3 Metering is off;seems to have no effect on MasterTrack 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.977Ultraschall version 4.00Lua version 5.3 ^ SetTrackHeightState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackHeightState(integer tracknumber, integer height, integer heightstate2, integer lockedtrackheight, optional string TrackStateChunk)

Description:
Sets TRACKHEIGHT-state; the height and compacted state of the track or a TrackStateChunk.

Has no visible effect on the master-track.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 integer height 24 up to 443 pixels 
 integer lockedtrackheight 0, trackheight is not locked; 1, trackheight is locked 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackINQState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackINQState(integer tracknumber, integer quantMIDI, integer quantPOS, integer quantNoteOffs, number quantToFractBeat, integer quantStrength, integer swingStrength, integer quantRangeMin, integer quantRangeMax, optional string TrackStateChunk)

Description:
Sets INQ-state, mostly the quantize-settings for MIDI, of a track or a TrackStateChunk, as set in the "Track: View track recording settings (MIDI quantize, file format/path) for last touched track"-dialog (action 40604)

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 integer quantMIDI quantize MIDI; 0 or 1 
 integer quantPOS quantize to position; -1,prev; 0, nearest; 1, next 
 integer quantNoteOffs quantize note-offs; 0 or 1 
 number quantToFractBeat quantize to (fraction of beat) 
 integer quantStrength quantize strength; -128 to 127 
 integer swingStrength swing strength; -128 to 127 
 integer quantRangeMin quantize range minimum; -128 to 127 
 integer quantRangeMax quantize range maximum; -128 to 127 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackNChansState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackNChansState(integer tracknumber, integer NChans, optional string TrackStateChunk)

Description:
Sets NCHAN-state; the number of channels in this track or a TrackStateChunk, as set in the routing.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 integer NChans 2 to 64, counted every second channel (2,4,6,8,etc) with stereo-tracks. Unknown, if Multichannel and Mono-tracks count differently. 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackBypFXState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackBypFXState(integer tracknumber, integer FXBypassState, optional string TrackStateChunk)

Description:
Sets FX, FX-Bypass-state of the track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 integer FXBypassState 0 bypass, 1 activate fx; has only effect, if FX or instruments are added to this track 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackPerfState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackPerfState(integer tracknumber, integer Perf, optional string TrackStateChunk)

Description:
Sets PERF, the TrackPerformance-State of a track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; -1 if you want to use parameter TrackStateChunk 
 integer Perf performance-state
0 - allow anticipative FX + allow media buffering
1 - allow anticipative FX + prevent media buffering
2 - prevent anticipative FX + allow media buffering
3 - prevent anticipative FX + prevent media buffering 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackMIDIOutState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackMIDIOutState(integer tracknumber, integer MIDIOutState, optional string TrackStateChunk)

Description:
Sets MIDIOUT, the state of MIDI out for this track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 integer MIDIOutState %-1 no output
416 %- microsoft GS wavetable synth-send to original channels
417-432 %- microsoft GS wavetable synth-send to channel state minus 416
-31 %- no Output, send to original channel 1
-16 %- no Output, send to original channel 16 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00 ^ SetTrackMainSendState

Functioncall:

boolean retval, optional string TrackStateChunk = ultraschall.SetTrackMainSendState(integer tracknumber, integer MainSendOn, integer ParentChannels, optional string TrackStateChunk)

Description:
Sets MAINSEND, as set in the routing-settings, of a track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 optional string TrackStateChunk the altered TrackStateChunk, if tracknumber=-1 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 integer MainSendOn on(1) or off(0) 
 integer ParentChannels the ParentChannels(0-64), interpreted as beginning with ParentChannels to ParentChannels+NCHAN 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackLockState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackLockState(integer tracknumber, integer LockedState, optional string TrackStateChunk)

Description:
Sets LOCK-State, as set by the menu entry Lock Track Controls, of a track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; -1 if you want to use parameter TrackStateChunk 
 integer LockedState 1 - locked, 0 - unlocked 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.1Lua version 5.3 ^ SetTrackLayoutNames

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackLayoutNames(integer tracknumber, string TCP_Layoutname, string MCP_Layoutname, optional string TrackStateChunk)

Description:
Sets LAYOUTS, the MCP and TCP-layout by name of the layout as defined in the theme, of a track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 string TCP_Layoutname name of the TrackControlPanel-Layout from the theme to use 
 string MCP_Layoutname name of the MixerControlPanel-Layout from the theme to use 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackAutomodeState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackAutomodeState(integer tracknumber, integer automodestate, optional string TrackStateChunk)

Description:
Sets AUTOMODE-State, as set by the menu entry Set Track Automation Mode, for a track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 integer automodestate 0 - trim/read, 1 - read, 2 - touch, 3 - write, 4 - latch 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackIcon_Filename

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackIcon_Filename(integer tracknumber, string Iconfilename_with_path, optional string TrackStateChunk)

Description:
Sets TRACKIMGFN, the trackicon-filename with path, of a track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; -1 if you want to use parameter TrackStateChunk 
 string Iconfilename_with_path filename+path of the imagefile to use as the trackicon; "", to remove track-icon 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackMidiInputChanMap

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackMidiInputChanMap(integer tracknumber, integer InputChanMap, optional string TrackStateChunk)

Description:
Sets MIDI_INPUT_CHANMAP, as set in the Input-MIDI->Map Input to Channel menu, of a track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 integer InputChanMap 0 for channel 1, 2 for channel 2, etc. -1 if not existing; nil, to remove MidiInputChanMap 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackMidiCTL

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackMidiCTL(integer tracknumber, integer LinkedToMidiChannel, integer unknown, optional string TrackStateChunk)

Description:
sets MIDICTL-state, the linkage to Midi-Channels of a track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 integer LinkedToMidiChannel unknown; nil, to remove this setting completely 
 integer unknown unknown 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackID

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackID(integer tracknumber, string guid, optional string TrackStateChunk)

Description:
sets the track-id, which must be a valid GUID, of a track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 string guid a valid GUID. Can be generated with the native Reaper-function reaper.genGuid() 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackMidiColorMapFn

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackMidiColorMapFn(integer tracknumber, string MIDI_ColorMapFN, optional string TrackStateChunk)

Description:
sets the filename+path to the MIDI-ColorMap-graphicsfile of a track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 string MIDI_ColorMapFN filename+path to the MIDI-ColorMap-file; "", to remove it 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackMidiBankProgFn

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackMidiBankProgFn(integer tracknumber, string MIDIBankProgFn, optional string TrackStateChunk)

Description:
sets the filename+path to the MIDI-Bank-Prog-file of a track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 string MIDIBankProgFn filename+path to the MIDI-Bank-Prog-file; "", to remove it 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackMidiTextStrFn

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackMidiTextStrFn(integer tracknumber, string MIDITextStrFn, optional string TrackStateChunk)

Description:
sets the filename+path to the MIDI-Text-Str-file of a track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 string MIDITextStrFn filename+path to the MIDI-Text-Str-file; "", to remove it 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackPanMode

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackPanMode(integer tracknumber, integer panmode, optional string TrackStateChunk)

Description:
sets the panmode for a track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 integer panmode the Panmode of the track
nil - Project Default
0 - Reaper 3.x balance (deprecated)
3 - Stereo Balance/ Mono Pan(Default)
5 - Stereo Balance
6 - Dual Pan
7 - unknown mode 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackWidth

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackWidth(integer tracknumber, number width, optional string TrackStateChunk)

Description:
sets the width of a track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 number width width of the track, from -1(-100%) to 1(+100%) 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackScore

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackScore(integer tracknumber, integer unknown1, integer unknown2, number unknown3, number unknown4, optional string TrackStateChunk)

Description:
sets the SCORE of a track or a TrackStateChunk.

set unknown1 to unknown4 to 0 to remove the entry from the TrackStateChunk

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 integer unknown1 unknown 
 integer unknown2 unknown 
 number unknown3 unknown 
 number unknown4 unknown 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackVolPan

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackVolPan(integer tracknumber, number Vol, number Pan, number OverridePanLaw, number unknown, number unknown2, optional string TrackStateChunk)

Description:
sets the VOLPAN-state of a track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1, if you want to use parameter TrackStateChunk 
 number Vol Volume Settings; -Inf dB(0) to +12dB (3.98107170553497) 
 number Pan Pan Settings; -1(-100%); 0(center); 1(100% R) 
 number OverridePanLaw Override Default Pan Track Law; 0dB(1) to -144dB(0.00000006309573) 
 number unknown unknown 
 number unknown2 unknown 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTrackRecCFG

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackRecCFG(integer tracknumber, string reccfg_string, integer reccfg_nr, optional string TrackStateChunk)

Description:
sets the RECCFG of a track or a TrackStateChunk.

returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 string reccfg_string the string, that encodes the recording configuration of the track 
 integer reccfgnr the number of the recording-configuration of the track;
-1, removes the reccfg-setting
0, use default project rec-setting
1, use track-customized rec-setting, as set in the "Track: View track recording settings (MIDI quantize, file format/path) for last touched track"-dialog (action 40604) 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetAllLockedTracks

Functioncall:

string locked_trackstring, string unlocked_trackstring = ultraschall.GetAllLockedTracks()

Description:
returns a trackstring with all tracknumbers of tracks, that are locked, as well as one with all tracknumbers of tracks, that are unlocked.

returns an empty locked_trackstring, if none is locked, returns an empty unlocked_trackstring if all are locked.

Returnvalues:
 string locked_trackstring the tracknumbers of all tracks, that are locked; empty string if none is locked 
 string unlocked_trackstring the tracknumbers of all tracks, that are NOT locked; empty string if all are locked 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetAllSelectedTracks

Functioncall:

string selected_trackstring, string unselected_trackstring = ultraschall.GetAllSelectedTracks()

Description:
returns a trackstring with all tracknumbers of tracks, that are selected, as well as one with all tracknumbers of tracks, that are unselected.
returns an empty selected_trackstring, if none is selected, returns an empty unselected_trackstring if all are selected.

Returnvalues:
 string selected_trackstring the tracknumbers of all tracks, that are selected; empty string if none is selected 
 string unselected_trackstring the tracknumbers of all tracks, that are NOT selected; empty string if all are selected 



^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ GetTrackSelection_TrackStateChunk

Functioncall:

integer selection_state = ultraschall.GetTrackSelection_TrackStateChunk(string TrackStateChunk)

Description:
returns selection of the track.    

It's the entry SEL.

Works only with statechunks stored in ProjectStateChunks, due API-limitations!

returns nil in case of an error

Returnvalues:
 integer selection_state 0, track is unselected; 1, track is selected 



^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ SetTrackSelection_TrackStateChunk

Functioncall:

string alteredTrackStateChunk = ultraschall.SetTrackSelection_TrackStateChunk(integer selection_state, string TrackStateChunk)

Description:
set selection of the track in a TrackStateChunk.    

It's the entry SEL.

Works only with statechunks stored in ProjectStateChunks, due API-limitations!

returns nil in case of an error

Returnvalues:
 string alteredTrackStateChunk the altered TrackStateChunk with the new selection 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetAllTracksSelected

Functioncall:

integer retval = ultraschall.SetAllTracksSelected(boolean selected)

Description:
Sets all tracks selected(if selected is true) of unselected(if selected is false)

returns -1 in case of error

Returnvalues:
 integer retval returns -1 in case of error 

Parameters:
 boolean selected true, if all tracks shall be selected, false if all shall be deselected 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTracksSelected

Functioncall:

integer retval = ultraschall.SetTracksSelected(string trackstring, boolean reset)

Description:
Sets tracks in trackstring selected. If reset is set to true, then the previous selection will be discarded.

returns -1 in case of error

Returnvalues:
 integer retval returns -1 in case of error 

Parameters:
 string trackstring a string with the tracknumbers, separated by a comma; nil or "", deselects all 
 boolean reset true, any previous selection will be discarded; false, it will be kept 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTracksToLocked

Functioncall:

boolean retval = ultraschall.SetTracksToLocked(string trackstring, boolean reset)

Description:
sets tracks in trackstring locked.
returns false in case or error, true in case of success

Returnvalues:
 boolean retval true in case of success, false in case of error 

Parameters:
 string trackstring the tracknumbers, separated with a , 
 boolean reset reset lockedstate of other tracks
true - resets the locked-state of all tracks not included in trackstring
false - the lockedstate of tracks not in trackstring is retained 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetTracksToUnlocked

Functioncall:

boolean retval = ultraschall.SetTracksToUnlocked(string trackstring)

Description:
sets tracks in trackstring unlocked.
returns false in case or error, true in case of success

Returnvalues:
 boolean retval true in case of success, false in case of error 

Parameters:
 string trackstring the tracknumbers, separated with a , 


^ Reaper version 5.52Ultraschall version 4.00Lua version 5.3 ^ SetTrackStateChunk_Tracknumber

Functioncall:

boolean retval = ultraschall.SetTrackStateChunk_Tracknumber(integer tracknumber, string trackstatechunk, boolean undo)

Description:
Sets the trackstatechunk for track tracknumber. Undo flag is a performance/caching hint.

returns false in case of an error

Returnvalues:
 boolean retval true in case of success; false in case of error 

Parameters:
 integer tracknumber the tracknumber, 0 for master track, 1 for track 1, 2 for track 2, etc. 
 string trackstatechunk the trackstatechunk, you want to set this track with 
 boolean undo Undo flag is a performance/caching hint. 


^ Reaper version 5.941Ultraschall version 4.00Lua version 5.3 ^ SetTrackGroupFlagsState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackGroupFlagsState(integer tracknumber, array groups_bitfield_table, optional string TrackStateChunk)

Description:
Set the GroupFlags-state of a track or trackstatechunk.
You can reach the Group-Flag-Settings in the context-menu of a track.

The groups_bitfield_table can contain up to 23 entries. Every entry represents one of the checkboxes in the Track grouping parameters-dialog

Each entry is a bitfield, that represents the groups, in which this flag is set to checked or unchecked.

So if you want to set Volume Master(table entry 1) to checked in Group 1(2^0=1) and 3(2^2=4):
  groups_bitfield_table[1]=groups_bitfield_table[1]+1+4

The following flags(and their accompanying array-entry-index) are available:
                       1 - Volume Master
                       2 - Volume Follow
                       3 - Pan Master
                       4 - Pan Follow
                       5 - Mute Master
                       6 - Mute Follow
                       7 - Solo Master
                       8 - Solo Follow
                       9 - Record Arm Master
                       10 - Record Arm Follow
                       11 - Polarity/Phase Master
                       12 - Polarity/Phase Follow
                       13 - Automation Mode Master
                       14 - Automation Mode Follow
                       15 - Reverse Volume
                       16 - Reverse Pan
                       17 - Do not master when slaving
                       18 - Reverse Width
                       19 - Width Master
                       20 - Width Follow
                       21 - VCA Master
                       22 - VCA Follow
                       23 - VCA pre-FX Follow

This function will work only for Groups 1 to 32. To set Groups 33 to 64, use SetTrackGroupFlags_HighState instead!

Returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 array groups_bitfield_table an array with all bitfields with all groupflag-settings 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 5.941Ultraschall version 4.00Lua version 5.3 ^ SetTrackGroupFlags_HighState

Functioncall:

boolean retval, string TrackStateChunk = ultraschall.SetTrackGroupFlags_HighState(integer tracknumber, array groups_bitfield_table, optional string TrackStateChunk)

Description:
Set the GroupFlags-state of a track or trackstatechunk.
You can reach the Group-Flag-Settings in the context-menu of a track.

The groups_bitfield_table can contain up to 23 entries. Every entry represents one of the checkboxes in the Track grouping parameters-dialog

Each entry is a bitfield, that represents the groups, in which this flag is set to checked or unchecked.

So if you want to set Volume Master(table entry 1) to checked in Group 33(2^0=1) and 35(2^2=4):
  groups_bitfield_table[1]=groups_bitfield_table[1]+1+4

The following flags(and their accompanying array-entry-index) are available:
                       1 - Volume Master
                       2 - Volume Follow
                       3 - Pan Master
                       4 - Pan Follow
                       5 - Mute Master
                       6 - Mute Follow
                       7 - Solo Master
                       8 - Solo Follow
                       9 - Record Arm Master
                       10 - Record Arm Follow
                       11 - Polarity/Phase Master
                       12 - Polarity/Phase Follow
                       13 - Automation Mode Master
                       14 - Automation Mode Follow
                       15 - Reverse Volume
                       16 - Reverse Pan
                       17 - Do not master when slaving
                       18 - Reverse Width
                       19 - Width Master
                       20 - Width Follow
                       21 - VCA Master
                       22 - VCA Follow
                       23 - VCA pre-FX Follow

This function will work only for Groups 33(2^0) to 64(2^31). To set Groups 1 to 32, use SetTrackGroupFlagsState instead!

Returns false in case of an error

Returnvalues:
 boolean retval true, if successful, false if unsuccessful 
 string TrackStateChunk the altered TrackStateChunk 

Parameters:
 integer tracknumber number of the track, beginning with 1; 0 for master-track; -1 if you want to use parameter TrackStateChunk 
 array groups_bitfield_table an array with all bitfields with all groupflag-settings 
 optional string TrackStateChunk use a trackstatechunk instead of a track; only used when tracknumber is -1 


^ Reaper version 6.02Ultraschall version 4.1Julian Sader's plugin version 0.963Lua version 5.3 ^ TrackManager_ClearFilter

Functioncall:

boolean retval = ultraschall.TrackManager_ClearFilter()

Description:
clears the filter of the trackmanager, if the window is opened.

returns false if Track Manager is closed

Returnvalues:
 boolean retval true, clearing was successful; false, clearing was unsuccessful 



^ Reaper version 6.02Ultraschall version 4.1Julian Sader's plugin version 0.963Lua version 5.3 ^ TrackManager_ShowAll

Functioncall:

boolean retval = ultraschall.TrackManager_ShowAll()

Description:
shows all tracks, if the window is opened.

returns false if Track Manager is closed

Returnvalues:
 boolean retval true, showall was successful; false, showall was unsuccessful 



^ Reaper version 6.02Ultraschall version 4.1Julian Sader's plugin version 0.963Lua version 5.3 ^ TrackManager_SelectionFromProject

Functioncall:

boolean retval = ultraschall.TrackManager_SelectionFromProject()

Description:
sets trackselection in trackmanager to the trackselection from the project, if the trackmanager-window is opened.

returns false if Track Manager is closed

Returnvalues:
 boolean retval true, setting selection was successful; false, setting selection was unsuccessful 



^ Reaper version 6.02Ultraschall version 4.1Julian Sader's plugin version 0.963Lua version 5.3 ^ TrackManager_SelectionFromList

Functioncall:

boolean retval = ultraschall.TrackManager_SelectionFromList()

Description:
sets trackselection from trackmanager into the trackselection of the project, if the trackmanager-window is opened.

returns false if Track Manager is closed

Returnvalues:
 boolean retval true, setting selection was successful; false, setting selection was unsuccessful 



^ Reaper version 6.02Ultraschall version 4.1Julian Sader's plugin version 0.963Lua version 5.3 ^ TrackManager_SetFilter

Functioncall:

boolean retval = ultraschall.TrackManager_SetFilter(string filter)

Description:
sets filter of the trackmanager, if the trackmanager-window is opened.

returns false if Track Manager is closed

Returnvalues:
 boolean retval true, setting filter was successful; false, setting filter was unsuccessful 

Parameters:
 string filter the new filter-phrase to be set  


^ Reaper version 6.02Ultraschall version 4.1Julian Sader's plugin version 0.963Lua version 5.3 ^ TrackManager_OpenClose

Functioncall:

boolean retval, optional boolean new_toggle_state = ultraschall.TrackManager_OpenClose(optional boolean toggle)

Description:
opens/closes the trackmanager

returns false in case of an error

Returnvalues:
 boolean retval true, opening/closing was successful; false, there was an error 
 optional boolean new_toggle_state true, track manager is opened; false, track manager is closed 

Parameters:
 optional boolean toggle true, open the track manager; false, close the track manager; nil, just toggle open/close of the trackmanager 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ pause_follow_one_cycle

Functioncall:

ultraschall.pause_follow_one_cycle()

Description:
Skips auto-follow-off-checking-script for one cycle.
FollowMode in Ultraschall turns on Autoscrolling in a useable way. In addition, under certain circumstances, followmode will be turned off automatically.
If you experience this but want to avoid the follow-off-functionality, use this function.

This function is only relevant, if you want to develop scripts that work perfectly within the Ultraschall.fm-extension.




^ Reaper version 5.95Ultraschall version 4.1Lua version 5.3 ^ IsTrackSoundboard

Functioncall:

boolean retval = ultraschall.IsTrackSoundboard(integer tracknumber)

Description:
Returns, if this track is a soundboard-track, means, contains an Ultraschall-Soundboard-plugin.

Only relevant in Ultraschall-installations

returns false in case of an error

Returnvalues:
 boolean retval true, it is an Ultraschall-Soundboard-track; false, it is not 

Parameters:
 integer tracknumber the tracknumber to check for; 0, for master-track; 1, for track 1; n for track n 


^ Reaper version 5.95Ultraschall version 4.1Lua version 5.3 ^ IsTrackStudioLink

Functioncall:

boolean retval = ultraschall.IsTrackStudioLink(integer tracknumber)

Description:
Returns, if this track is a StudioLink-track, means, contains a StudioLink-Plugin

Only relevant in Ultraschall-installations

returns false in case of an error

Returnvalues:
 boolean retval true, it is a StudioLink-track; false, it is not 

Parameters:
 integer tracknumber the tracknumber to check for; 0, for master-track; 1, for track 1; n for track n 


^ Reaper version 5.95Ultraschall version 4.1Lua version 5.3 ^ IsTrackStudioLinkOnAir

Functioncall:

boolean retval = ultraschall.IsTrackStudioLinkOnAir(integer tracknumber)

Description:
Returns, if this track is a StudioLinkOnAir-track, means, contains a StudioLinkOnAir-Plugin

Only relevant in Ultraschall-installations

returns false in case of an error

Returnvalues:
 boolean retval true, it is a StudioLinkOnAir-track; false, it is not 

Parameters:
 integer tracknumber the tracknumber to check for; 0, for master-track; 1, for track 1; n for track n 


^ Reaper version 5.95Ultraschall version 4.00Lua version 5.3 ^ GetTypeOfTrack

Functioncall:

string type, boolean multiple = ultraschall.GetTypeOfTrack(integer tracknumber)

Description:
Returns the tracktype of a specific track. Will return the type of the first valid SoundBoard, StudioLink, StudioLinkOnAir-plugin in the track-fx-chain.
If there are multiple valid plugins and therefore types, the second retval multiple will be set to true, else to false.

Only relevant in Ultraschall-installations

returns "", false in case of an error

Returnvalues:
 string type Either "StudioLink", "StudioLinkOnAir", "SoundBoard" or "Other". "", in case of an error 
 boolean multiple true, the track has other valid plugins as well; false, it is a "pure typed" track 

Parameters:
 integer tracknumber the tracknumber to check for; 0, for master-track; 1, for track 1; n for track n 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetAllAUXSendReceives2

Functioncall:

table AllAUXSendReceives, integer number_of_tracks = ultraschall.GetAllAUXSendReceives2()

Description:
returns a table with all AUX-SendReceive-settings of all tracks, excluding master-track

like GetAllAUXSendReceives, but returns the type of a track as well

returned table is of structure:
table["AllAUXSendReceive"]=true - signals, this is an AllAUXSendReceive-table. Don't alter!
table["number_of_tracks"] - the number of tracks in this table, from track 1 to track n
table[tracknumber]["type"] - type of the track, SoundBoard, StudioLink, StudioLinkOnAir or Other
table[tracknumber]["AUXSendReceives_count"] - the number of AUXSendReceives of tracknumber, beginning with 1
table[tracknumber][AUXSendReceivesIndex]["recv_tracknumber"] - the track, from which to receive audio in this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["post_pre_fader"] - the setting of post-pre-fader of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["volume"] - the volume of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["pan"] - the panning of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["mute"] - the mute-setting of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["mono_stereo"] - the mono/stereo-button-setting of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["phase"] - the phase-setting of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["chan_src"] - the audiochannel-source of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["snd_src"] - the send-to-channel-target of this AUXSendReceivesIndex of tracknumber
table[tracknumber][AUXSendReceivesIndex]["pan_law"] - pan-law, default is -1
table[tracknumber][AUXSendReceivesIndex]["midichanflag"] - the Midi-channel of this AUXSendReceivesIndex of tracknumber, leave it 0
table[tracknumber][AUXSendReceivesIndex]["automation"] - the automation-mode of this AUXSendReceivesIndex of tracknumber

See GetTrackAUXSendReceives for more details on the individual settings, stored in the entries.

Returnvalues:
 table AllAUXSendReceives a table with all SendReceive-entries of the current project. 
 integer number_of_tracks the number of tracks in the AllMainSends-table 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetAllHWOuts2

Functioncall:

table AllHWOuts, integer number_of_tracks = ultraschall.GetAllHWOuts2()

Description:
returns a table with all HWOut-settings of all tracks, including master-track(track index: 0)

like GetAllHWOuts but includes the type of a track as well

returned table is of structure:
table["HWOuts"]=true - signals, this is a HWOuts-table; don't change that!
table["number_of_tracks"] - the number of tracks in this table, from track 0(master) to track n
table[tracknumber]["type"] - type of the track, SoundBoard, StudioLink, StudioLinkOnAir or Other
table[tracknumber]["HWOut_count"] - the number of HWOuts of tracknumber, beginning with 1
table[tracknumber][HWOutIndex]["outputchannel"] - the number of outputchannels of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["post_pre_fader"] - the setting of post-pre-fader of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["volume"] - the volume of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["pan"] - the panning of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["mute"] - the mute-setting of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["phase"] - the phase-setting of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["source"] - the source/input of this HWOutIndex of tracknumber
table[tracknumber][HWOutIndex]["pan\law"] - pan-law, default is -1
table[tracknumber][HWOutIndex]["automationmode"] - the automation-mode of this HWOutIndex of tracknumber

See GetTrackHWOut for more details on the individual settings, stored in the entries.

Returnvalues:
 table AllHWOuts a table with all HWOuts of the current project. 
 integer number_of_tracks the number of tracks in the AllMainSends-table 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetAllMainSendStates2

Functioncall:

table AllMainSends, integer number_of_tracks = ultraschall.GetAllMainSendStates2()

Description:
returns a table with all MainSend-settings of all tracks, excluding master-track.

like GetAllMainSendStates, but includes the type of the track as well.

The MainSend-settings are the settings, if a certain track sends it's signal to the Master Track

returned table is of structure:
Table["number_of_tracks"] - The number of tracks in this table, from track 1 to track n
Table[tracknumber]["type"] - type of the track, SoundBoard, StudioLink, StudioLinkOnAir or Other
Table[tracknumber]["MainSend"] - Send to Master on(1) or off(1)
Table[tracknumber]["ParentChannels"] - the parent channels of this track

See GetTrackMainSendState for more details on the individual settings, stored in the entries.

Returnvalues:
 table AllMainSends a table with all AllMainSends-entries of the current project. 
 integer number_of_tracks the number of tracks in the AllMainSends-table 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ SetUSExternalState

Functioncall:

boolean retval = ultraschall.SetUSExternalState(string section, string key, string value, optional string filename)

Description:
stores values into ultraschall.ini. Returns true if successful, false if unsuccessful.

unlike other Ultraschall-API-functions, this converts the values, that you pass as parameters, into strings, regardless of their type

Returnvalues:
 boolean retval true, if successful, false if unsuccessful. 

Parameters:
 string section section within the ini-file 
 string key key within the section 
 string value the value itself 
 optional string filename set this to a filename, if you don't want to use ultraschall.ini; it will be stored into the resource-path of Reaper, so no path needed
nil, uses ultraschall.ini 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ GetUSExternalState

Functioncall:

string value = ultraschall.GetUSExternalState(string section, string key, optional string filename)

Description:
gets a value from ultraschall.ini.

returns an empty string in case of an error

Returnvalues:
 string value the value itself; empty string in case of an error or no such extstate 

Parameters:
 string section the section of the ultraschall.ini. 
 string key the key of which you want it's value. 
 optional string filename set this to a filename, if you don't want to use ultraschall.ini; it will be stored into the resource-path of Reaper, so no path needed
nil, uses ultraschall.ini 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountUSExternalState_sec

Functioncall:

integer section_count = ultraschall.CountUSExternalState_sec(optional filename)

Description:
returns the number of [sections] in the ultraschall.ini

Returnvalues:
 integer section_count the number of section in the ultraschall.ini 
 optional string filename set this to a filename, if you don't want to use ultraschall.ini; it will be stored into the resource-path of Reaper, so no path needed
nil, uses ultraschall.ini 



^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ CountUSExternalState_key

Functioncall:

integer key_count = ultraschall.CountUSExternalState_key(string section, optional string filename)

Description:
returns the number of keys in the given [section] in ultraschall.ini

returns -1 in case of an error

Returnvalues:
 integer key_count the number of keys within an ultraschall.ini-section 

Parameters:
 string section the section of the ultraschall.ini, of which you want the number of keys. 
 optional string filename set this to a filename, if you don't want to use ultraschall.ini; it will be stored into the resource-path of Reaper, so no path needed
nil, uses ultraschall.ini 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ EnumerateUSExternalState_sec

Functioncall:

string section_name = ultraschall.EnumerateUSExternalState_sec(integer number, optional string filename)

Description:
returns name of the numberth section in ultraschall.ini or nil if invalid

Returnvalues:
 string section_name the name of the numberth section within ultraschall.ini 
 optional string filename set this to a filename, if you don't want to use ultraschall.ini; it will be stored into the resource-path of Reaper, so no path needed
nil, uses ultraschall.ini 

Parameters:
 integer number the number of section, whose name you want to know 


^ Reaper version 5.40Ultraschall version 4.00Lua version 5.3 ^ EnumerateUSExternalState_key

Functioncall:

string key_name = ultraschall.EnumerateUSExternalState_key(string section, integer number, optional string filename)

Description:
returns name of a numberth key within a section in ultraschall.ini or nil if invalid or not existing

Returnvalues:
 string key_name the name ob the numberth key in ultraschall.ini. 

Parameters:
 string section the section within ultraschall.ini, where the key is stored. 
 integer number the number of the key, whose name you want to know; 1 for the first one 
 optional string filename set this to a filename, if you don't want to use ultraschall.ini; it will be stored into the resource-path of Reaper, so no path needed
nil, uses ultraschall.ini 


^ Reaper version 5.982Ultraschall version 4.00Lua version 5.3 ^ DeleteUSExternalState

Functioncall:

boolean retval = ultraschall.DeleteUSExternalState(string section, string key, optional string filename)

Description:
Deletes an external state from the ultraschall.ini

Returns false in case of error.

Returnvalues:
 boolean retval false in case of error; true in case of success 

Parameters:
 string section the section, in which the to be deleted-key is located 
 string key the key to delete 
 optional string filename set this to a filename, if you don't want to use ultraschall.ini; it will be stored into the resource-path of Reaper, so no path needed
nil, uses ultraschall.ini 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ SoundBoard_StopAllSounds

Functioncall:

ultraschall.Soundboard_StopAllSounds()

Description:
Stops all sounds currently playing in the Ultraschall-SoundBoard

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.




^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ SoundBoard_TogglePlayPause

Functioncall:

ultraschall.Soundboard_TogglePlayPause(integer playerindex)

Description:
Toggles between Play and Pause of a certain player in the Ultraschall-SoundBoard

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.


Parameters:
 integer playerindex the player of the SoundBoard; from 1-24 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ SoundBoard_TogglePlayStop

Functioncall:

ultraschall.Soundboard_TogglePlayStop(integer playerindex)

Description:
Toggles between Play and Stop of a certain player in the Ultraschall-SoundBoard

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.


Parameters:
 integer playerindex the player of the SoundBoard; from 1-24 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ SoundBoard_Play

Functioncall:

ultraschall.Soundboard_Play(integer playerindex)

Description:
Starts playing of a certain player in the Ultraschall-SoundBoard

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.


Parameters:
 integer playerindex the player of the SoundBoard; from 1-24 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ SoundBoard_Stop

Functioncall:

ultraschall.Soundboard_Stop(integer playerindex)

Description:
Stops playing of a certain player in the Ultraschall-SoundBoard

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.


Parameters:
 integer playerindex the player of the SoundBoard; from 1-24 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ SoundBoard_TogglePlay_FadeOutStop

Functioncall:

ultraschall.Soundboard_TogglePlay_FadeOutStop(integer playerindex)

Description:
Toggles between Play and FadeOut with Stop of a certain player in the Ultraschall-SoundBoard

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.


Parameters:
 integer playerindex the player of the SoundBoard; from 1-24 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ SoundBoard_PlayList_CurrentIndex

Functioncall:

integer current_playlist_position = ultraschall.Soundboard_PlayList_CurrentIndex()

Description:
Returns the position within the playlist of the Ultraschall Soundboard.

Playlist means, the player within all players of the Ultraschall-Soundboard.

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.

For other playlist-related functions, see also SoundBoard_PlayList_SetIndex, SoundBoard_PlayList_Next and SoundBoard_PlayList_Previous

Returnvalues:
 integer current_playlist_position the position in the playlist 



^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ SoundBoard_PlayList_SetIndex

Functioncall:

ultraschall.Soundboard_PlayList_SetIndex(integer playerindex, optional boolean play, optional boolean stop_all_others)

Description:
sets a new playerindex within the playlist of the Ultraschall-Soundboard.

You can optionally start the player and stop all others currently playing.

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.

For other playlist-related functions, see also Soundboard_PlayList_CurrentIndex, SoundBoard_PlayList_Next and SoundBoard_PlayList_Previous


Parameters:
 integer playerindex the player of the SoundBoard; from 1-24 
 optional boolean play true, start playing of this player immediately; nil or false, don't start playing 
 optional boolean stop_all_others true, stop all other players currently playing; nil or false, don't stop anything 


^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ SoundBoard_PlayList_Next

Functioncall:

ultraschall.Soundboard_PlayList_Next()

Description:
Stops current player and starts the next player within the playlist of the Ultraschall-Soundboard.

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.

For other playlist-related functions, see also Soundboard_PlayList_CurrentIndex, SoundBoard_PlayList_SetIndex and SoundBoard_PlayList_Previous




^ Reaper version 5.965Ultraschall version 4.00Lua version 5.3 ^ SoundBoard_PlayList_Previous

Functioncall:

ultraschall.Soundboard_PlayList_Previous()

Description:
Stops current player and starts the previous player within the playlist of the Ultraschall-Soundboard.

When the previous would be before the first, it will not do anything.

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.

For other playlist-related functions, see also Soundboard_PlayList_CurrentIndex, SoundBoard_PlayList_SetIndex and SoundBoard_PlayList_Next.




^ Reaper version 6.02Ultraschall version 4.00Lua version 5.3 ^ Soundboard_PlayFadeIn

Functioncall:

ultraschall.Soundboard_PlayFadeIn(integer playerindex)

Description:
Starts a sound with a fade-in of a certain player in the Ultraschall-SoundBoard

Needs ultraschall-Soundboard installed to be useable!

Track(s) who hold the soundboard must be recarmed and recinput set to MIDI or VKB.


Parameters:
 integer playerindex the player of the SoundBoard; from 1-24 


^ Reaper version 6.02Ultraschall version 4.1Lua version 5.3 ^ WebInterface_GetInstalledInterfaces

Functioncall:

integer reapers_count_of_webinterface, array reapers_webinterface_filenames_with_path, array reapers_webinterface_titles, integer users_count_of_webinterface, array users_webinterface_filenames_with_path, array users_webinterface_titles = ultraschall.WebInterface_GetInstalledInterfaces()

Description:
Returns the currently installed web-interface-pages.

Will return Reaper's default ones(resources-folder/Plugins/reaper_www_root/) as well as your customized ones(resources-folder/reaper_www_root/)

Returnvalues:
 integer reapers_count_of_webinterface the number of factory-default webinterfaces, installed by Reaper 
 array reapers_webinterface_filenames_with_path the filenames with path of the webinterfaces(can be .htm or .html) 
 array reapers_webinterface_titles the titles of the webinterfaces, as shown in the titlebar of the browser 
 integer users_count_of_webinterface the number of user-customized webinterfaces 
 array users_webinterface_filenames_with_path the filenames with path of the webinterfaces(can be .htm or .html) 
 array users_webinterface_titles the titles of the webinterfaces, as shown in the titlebar of the browser 



^ Reaper version 5.965Ultraschall version 4.1Lua version 5.3 ^ GetProject_RenderOutputPath

Functioncall:

string render_output_directory = ultraschall.GetProject_RenderOutputPath(string projectfilename_with_path)

Description:
returns the output-directory for rendered files of a project.

Doesn't return the correct output-directory for queued-projects!

returns nil in case of an error

Returnvalues:
 string render_output_directory the output-directory for projects 

Parameters:
 string projectfilename_with_path the projectfilename with path, whose renderoutput-directories you want to know 


^ Reaper version 5.965Ultraschall version 4.1Lua version 5.3 ^ ResolveRenderPattern

Functioncall:

string resolved_renderpattern = ultraschall.ResolveRenderPattern(string render_pattern)

Description:
resolves a render-pattern into its render-filename(without extension).

returns nil in case of an error

Returnvalues:
 string resolved_renderpattern the resolved renderpattern, that is used for a render-filename.
just add extension and path to it.
Stems will be rendered to path/resolved_renderpattern-XXX.ext
    where XXX is a number between 001(usually for master-track) and 999 

Parameters:
 string render_pattern the render-pattern, that you want to resolve into its render-filename 


^ Reaper version 5.965Ultraschall version 4.1Lua version 5.3 ^ SetReaScriptConsole_FontStyle

Functioncall:

boolean retval = ultraschall.SetReaScriptConsole_FontStyle(integer style)

Description:
If the ReaScript-console is opened, you can change the font-style of it.
You can choose between 19 different styles, with 3 being of fixed character length. It will change the next time you output text to the ReaScriptConsole.

If you close and reopen the Console, you need to set the font-style again!

You can only have one style active in the console!

Returns false in case of an error

Returnvalues:
 boolean retval true, displaying was successful; false, displaying wasn't successful 

Parameters:
 integer length the font-style used. There are 19 different ones.
fixed-character-length:
     1,  fixed, console
     2,  fixed, console alt
     3,  thin, fixed

normal from large to small:
     4-8
    
bold from largest to smallest:
     9-14

thin:
     15, thin

underlined:
     16, underlined, thin
     17, underlined
     18, underlined

symbol:
     19, symbol 


^ Reaper version 5.975Ultraschall version 4.1Lua version 5.3 ^ get_action_context_MediaItemDiff

Functioncall:

MediaItem MediaItem, MediaItem_Take MediaItem_Take, MediaItem MediaItem_unlocked, boolean Item_moved, number StartDiffTime, number EndDiffTime, number LengthDiffTime, number OffsetDiffTime = ultraschall.get_action_context_MediaItemDiff(optional boolean exlude_mousecursorsize, optional integer x, optional integer y)

Description:
Returns the currently clicked MediaItem, Take as well as the difference of position, end, length and startoffset since last time calling this function.
Good for implementing ripple-drag/editing-functions, whose position depends on changes in the currently clicked MediaItem.
Repeatedly call this (e.g. in a defer-cycle) to get all changes made, during dragging position, length or offset of the MediaItem underneath mousecursor.

This function takes into account the size of the start/end-drag-mousecursor, that means: if mouse-position is within 3 pixels before start/after end of the item, it will get the correct MediaItem.
This is a workaround, as the mouse-cursor changes to dragging and can still affect the MediaItem, even though the mouse at this position isn't above a MediaItem anymore.
To be more strict, set exludemousecursorsize to true. That means, it will only detect MediaItems directly beneath the mousecursor. If the mouse isn't above a MediaItem, this function will ignore it, even if the mouse could still affect the MediaItem.
If you don't understand, what that means: simply omit exlude
mousecursorsize, which should work in almost all use-cases. If it doesn't work as you want, try setting it to true and see, whether it works now.

returns nil in case of an error

Returnvalues:
 MediaItem MediaItem the MediaItem at the current mouse-position; nil if not found 
 MediaItem_Take MediaItem_Take the MediaItem_Take underneath the mouse-cursor 
 MediaItem MediaItem_unlocked if the MediaItem isn't locked, you'll get a MediaItem here. If it is locked, this retval is nil 
 boolean Item_moved true, the item was moved; false, only a part(either start or end or offset) of the item was moved 
 number StartDiffTime if the start of the item changed, this is the difference;
   positive, the start of the item has been changed towards the end of the project
   negative, the start of the item has been changed towards the start of the project
   0, no changes to the itemstart-position at all 
 number EndDiffTime if the end of the item changed, this is the difference;
   positive, the end of the item has been changed towards the end of the project
   negative, the end of the item has been changed towards the start of the project
   0, no changes to the itemend-position at all 
 number LengthDiffTime if the length of the item changed, this is the difference;
   positive, the length is longer
   negative, the length is shorter
   0, no changes to the length of the item 
 number OffsetDiffTime if the offset of the item-take has changed, this is the difference;
   positive, the offset has been changed towards the start of the project
   negative, the offset has been changed towards the end of the project
   0, no changes to the offset of the item-take
Note: this is the offset of the take underneath the mousecursor, which might not be the same size, as the MediaItem itself!
So changes to the offset maybe changes within the MediaItem or the start of the MediaItem!
This could be important, if you want to affect other items with rippling. 

Parameters:
 optional boolean exlude_mousecursorsize false or nil, get the item underneath, when it can be affected by the mouse-cursor(dragging etc): when in doubt, use this
true, get the item underneath the mousecursor only, when mouse is strictly above the item,
       which means: this ignores the item when mouse is not above it, even if the mouse could affect the item 
 optional integer x nil, use the current x-mouseposition; otherwise the x-position in pixels 
 optional integer y nil, use the current y-mouseposition; otherwise the y-position in pixels 


^ Reaper version 5.981Ultraschall version 4.1SWS version 2.10.0.1Lua version 5.3 ^ GetTrackEnvelope_ClickState

Functioncall:

boolean clickstate, number position, MediaTrack track, TrackEnvelope envelope, integer EnvelopePointIDX = ultraschall.GetTrackEnvelope_ClickState()

Description:
Returns the currently clicked Envelopepoint and TrackEnvelope, as well as the current timeposition.

Works only, if the mouse is above the EnvelopePoint while having it clicked!

Returns false, if no envelope is clicked at

Returnvalues:
 boolean clickstate true, an envelopepoint has been clicked; false, no envelopepoint has been clicked 
 number position the position, at which the mouse has clicked 
 MediaTrack track the track, from which the envelope and it's corresponding point is taken from 
 TrackEnvelope envelope the TrackEnvelope, in which the clicked envelope-point lies 
 integer EnvelopePointIDX the id of the clicked EnvelopePoint 



^ Reaper version 5.975Ultraschall version 4.1SWS version 2.9.7Lua version 5.3 ^ SetLiceCapExe

Functioncall:

boolean retval = ultraschall.SetLiceCapExe(string PathToLiceCapExecutable)

Description:
Sets the path and filename of the LiceCap-executable

Note: Doesn't work on Linux, as there isn't a Linux-port of LiceCap yet.

Returns false in case of error.

Returnvalues:
 boolean retval false in case of error; true in case of success 

Parameters:
 string SetLiceCapExe the LiceCap-executable with path 


^ Reaper version 5.975Ultraschall version 4.1SWS version 2.9.7Lua version 5.3 ^ SetupLiceCap

Functioncall:

boolean retval = ultraschall.SetupLiceCap(string output_filename, string title, integer titlems, integer x, integer y, integer right, integer bottom, integer fps, integer gifloopcount, integer stopafter, integer prefs)

Description:
Sets up an installed LiceCap-instance.

To choose the right LiceCap-version, run the action 41298 - Run LICEcap (animated screen capture utility)

Note: Doesn't work on Linux, as there isn't a Linux-port of LiceCap yet.

Returns false in case of error.

Returnvalues:
 boolean retval false in case of error; true in case of success 

Parameters:
 string output_filename the output-file; you can choose whether it shall be a gif or an lcf by giving it the accompanying extension "mylice.gif" or "milice.lcf"; nil, keep the current outputfile 
 string title the title, which shall be shown at the beginning of the licecap; newlines will be exchanged by spaces, as LiceCap doesn't really support newlines; nil, keep the current title 
 integer titlems how long shall the title be shown, in milliseconds; nil, keep the current setting 
 integer x the x-position of the LiceCap-window in pixels; nil, keep the current setting 
 integer y the y-position of the LiceCap-window in pixels; nil, keep the current setting 
 integer right the right side-position of the LiceCap-window in pixels; nil, keep the current setting 
 integer bottom the bottom-position of the LiceCap-window in pixels; nil, keep the current setting 
 integer fps the maximum frames per seconds, the LiceCap shall have; nil, keep the current setting 
 integer gifloopcount how often shall the gif be looped?; 0, infinite looping; nil, keep the current setting 
 integer stopafter stop recording after xxx milliseconds; nil, keep the current setting 
 integer prefs the preferences-settings of LiceCap, which is a bitfield; nil, keep the current settings
&1 - display in animation: title frame - checkbox
&2 - Big font - checkbox
&4 - display in animation: mouse button press - checkbox
&8 - display in animation: elapsed time - checkbox
&16 - Ctrl+Alt+P pauses recording - checkbox
&32 - Use .GIF transparency for smaller files - checkbox
&64 - Automatically stop after xx seconds - checkbox            


^ Reaper version 5.965Ultraschall version 4.1Lua version 5.3 ^ ReadSubtitles_VTT

Functioncall:

string Kind, string Language, integer Captions_Counter, table Captions = ultraschall.ReadSubtitles_VTT(string filename_with_path)

Description:
parses a webvtt-subtitle-file and returns its contents as table

returns nil in case of an error

Returnvalues:
 string Kind the type of the webvtt-file, like: captions 
 string Language the language of the webvtt-file 
 integer Captions_Counter the number of captions in the file 
 table Captions the Captions as a table of the format:
    Captions[index]["start"]= the starttime of this caption in seconds
    Captions[index]["end"]= the endtime of this caption in seconds
    Captions[index]["caption"]= the caption itself 

Parameters:
 string filename_with_path the filename with path of the webvtt-file 


^ Reaper version 6.12Ultraschall version 4.2Lua version 5.3 ^ BatchConvertFiles

Functioncall:

boolean retval = ultraschall.BatchConvertFiles(table inputfilelist, table outputfilelist, table RenderTable, optional boolean BWFStart, PadStart, PadEnd, FXStateChunk)

Description:
Converts files using Reaper's own BatchConverter.

This function will open another instance of Reaper that runs the batchconverter, so it will still open the batch-converter-list for the time of conversion.
Though as it is another instance, you can safely go back to the old instance of Reaper.

This function will probably NOT finish before the batch-converter is finished with conversion, keep this in mind.

returns nil in case of an error

Returnvalues:
 table inputfilelist a table of filenames+path, that shall be converted 
 table outputfilelist a table of the target filenames+path, where the first filename is the target for the first inputfilename, etc 
 table RenderTable the settings for the conversion; just use the render-table-functions to create one 
 optional boolean BWFStart true, include BWF-start; false or nil, don't include BWF-start 
 optional integer PadStart the start of the padding in seconds; nil, to omit it 
 optional integer PadEnd the end of the padding in seconds; nil, to omit it 
 optional string FXStateChunk an FXChain as FXStateChunk; with that you can add fx on top of the to-convert-files. 

Parameters:
 boolean retval true, conversion was successfully started; false, conversion didn't start 


^ Reaper version 6.10Ultraschall version 4.1Lua version 5.3 ^ GetTakeEnvelopeUnderMouseCursor

Functioncall:

TakeEnvelope env, MediaItem_Take take, number projectposition = ultraschall.GetTakeEnvelopeUnderMouseCursor()

Description:
returns the take-envelope underneath the mouse

Returnvalues:
 TakeEnvelope env the take-envelope found unterneath the mouse; nil, if none has been found 
 MediaItem_Take take the take from which the take-envelope is 
 number projectposition the project-position 



^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ DeleteParmLearn2_FXStateChunk

Functioncall:

boolean retval, string alteredFXStateChunk = ultraschall.DeleteParmLearn2_FXStateChunk(string FXStateChunk, integer fxid, integer parmidx)

Description:
Deletes a ParmLearn-entry from an FXStateChunk, by parameter index.

Unlike DeleteParmLearn_FXStateChunk, this indexes the parameters not the already existing parmlearns.

returns false in case of an error

Returnvalues:
 boolean retval true, if deletion was successful; false, if the function couldn't delete anything 
 string alteredFXStateChunk the altered FXStateChunk 

Parameters:
 string FXStateChunk the FXStateChunk, which you want to delete a ParmLearn from 
 integer fxid the id of the fx, which holds the to-delete-ParmLearn-entry; beginning with 1 
 integer parmidx the index of the parameter, whose parmlearn you want to delete; beginning with 1 


^ Reaper version 6.17Ultraschall version 4.2Lua version 5.3 ^ SetUIScale

Functioncall:

boolean retval = ultraschall.SetUIScale(number scaling)

Description:
Sets the UI-scaling of Reaper's UI.

Works only, if the "Scale UI elements of track/mixer panels, tansport, etc, by:"-checkbox is enabled in Preferences -> General -> Advanced UI/system tweaks-dialog,
by setting the value in the dialog to anything else than 1.0.

returns false in case of an error.

Returnvalues:
 boolean retval true, setting was successful; false, setting was unsuccessful 

Parameters:
 number scaling the scaling-factor; safe range is between 0.30 and 3.00, though 0 to 2000 is supported 


^ Reaper version 6.17Ultraschall version 4.2Lua version 5.3 ^ GetActionCommandIDByFilename

Functioncall:

string ActionCommandID = ultraschall.GetActionCommandIDByFilename(string searchfilename, integer searchsection, optional boolean case_sensitive)

Description:
Returns the action-command-id of a script by its filename, as registered in the reaper-kb.ini.

Important: scripts in subfolders of Scripts must be written with their full path. \ and / are supported as folder-separators.
Setting case_sensitive=false will return the action-command-id of the first script matching the filename, when you don't know the exact case-sensitivity.
Keep in mind, that on Linux, camelcase can mean different filenames. So Prototype.lua and prototype.lua are different files on Linux, when they exist together.
Keep that in mind or you risk finding the wrong ActionCommandID.

Returns nil in case of an error

Returnvalues:
 string ActionCommandID the actioncommand-id of the scriptfile; "", if no such file is installed; nil, in case of an error 

Parameters:
 string searchfilename the filename(plus path, if needed) of the script, whose ActionCommandID you want to have. 
 integer section the section, in which the file is stored
0, Main,
100, Main (alt recording),
32060, MIDI Editor,
32061, MIDI Event List Editor,
32062, MIDI Inline Editor,
32063, Media Explorer. 
 optional boolean case_sensitive true or nil, search for filename on a case-sensitive base; false, case-sensitivity in filename is ignored 


^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ GetFXWak_FXStateChunk

Functioncall:

integer keyboard_input_2_plugin, integer unknown = ultraschall.GetFXWak_FXStateChunk(string FXStateChunk, integer fxid)

Description:
returns the WAK-entryvalues of a specific fx from an FXStateChunk, as set by the +-button->Send all keyboard input to plugin-menuentry in the FX-window of the visible plugin.

returns nil in case of an error

Returnvalues:
 integer keyboard_input_2_plugin 0, don't send all the keyboard-input to plugin; 1, send all keyboard-input to plugin 
 integer unknown unknown, usually 0 

Parameters:
 string FXStateChunk the FXStateChunk, from whose fx you want to return the WAK-entry 
 integer fxid the fx, whose WAK-entryvalues you want to return 


^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ GetFXMidiPreset_FXStateChunk

Functioncall:

integer midi_preset = ultraschall.GetFXMidiPreset_FXStateChunk(string FXStateChunk, integer fxid)

Description:
returns the MIDIPRESET-entryvalues of a specific fx from an FXStateChunk as set by the +-button->Link to MIDI program change-menuentry in the FX-window of the visible plugin.

returns nil in case of an error

Returnvalues:
 integer midi_preset 0, No Link; 17, Link all channels sequentially; 1-16, MIDI-channel 1-16 

Parameters:
 string FXStateChunk the FXStateChunk, from whose fx you want to return the MIDIPRESET-entry 
 integer fxid the fx, whose MIDIPRESET-entryvalues you want to return 


^ Reaper version 6.19Ultraschall version 4.2Lua version 5.3 ^ SetFXWak_FXStateChunk

Functioncall:

string FXStateChunk = ultraschall.SetFXWak_FXStateChunk(string FXStateChunk, integer fxid, integer send_all_keyboard_input_to_fx, integer fx_embed_state)

Description:
sets the fx-WAK-entry of a specific fx within an FXStateChunk, which allows setting "sending all keyboard input to plugin"-option and "embed fx in tcp/mcp"-option of an fx

returns nil in case of an error

Returnvalues:
 string FXStateChunk the altered FXStateChunk with the new wak-state 

Parameters:
 string FXStateChunk the FXStateChunk, into which you want to set the new wak-state 
 integer fxid the fx, whose wak-state you want to set 
 integer send_all_keyboard_input_to_fx state of sen all keyboard input to plug-in; 0, turned off; 1, turned on 
 integer fx_embed_state set embedding of the fx; &1=TCP, &2=MCP 


^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ SetFXMidiPreset_FXStateChunk

Functioncall:

string FXStateChunk = ultraschall.SetFXMidiPreset_FXStateChunk(string FXStateChunk, integer fxid, integer midi_preset)

Description:
sets the MIDIPRESET-entryvalues of a specific fx from an FXStateChunk as set by the +-button->Link to MIDI program change-menuentry in the FX-window of the visible plugin.

returns nil in case of an error

Returnvalues:
 string FXStateChunk the altered FXStateChunk with the new comment 

Parameters:
 string FXStateChunk the FXStateChunk, into which you want to set the new comment 
 integer fxid the fx, whose comment you want to set 
 integer midi_preset 0, No Link; 17, Link all channels sequentially; 1-16, MIDI-channel 1-16  


^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ GetFXBypass_FXStateChunk

Functioncall:

integer bypass, integer offline, integer unknown = ultraschall.GetFXBypass_FXStateChunk(string FXStateChunk, integer fxid)

Description:
returns the BYPASS-entryvalues of a specific fx from an FXStateChunk, like bypass and online-state..

returns nil in case of an error

Returnvalues:
 integer bypass 0, non-bypassed; 1, bypassed 
 integer offline 0, online; 1, offline 
 integer unknown unknown; default is 0 

Parameters:
 string FXStateChunk the FXStateChunk, from whose fx you want to return the BYPASS-entry 
 integer fxid the fx, whose BYPASS-entryvalues you want to return 


^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ GetFXFloatPos_FXStateChunk

Functioncall:

boolean floating, integer x, integer y, integer width, integer height = ultraschall.GetFXFloatPos_FXStateChunk(string FXStateChunk, integer fxid)

Description:
returns the FLOATPOS/FLOAT-entryvalues of a specific fx from an FXStateChunk, like float-state and float-coordinates.

If all coordinates of the floating fx-window are 0, then the fx-window was never in float-state, yet.

There is only one of the FLOATPOS/FLOAT-entries present at any time.
FLOATPOS, when the fx-window is not floating
FLOAT, when the fx-window is floating.

returns nil in case of an error

Returnvalues:
 boolean floating true, fx-window is floating; false, fx-window isn't floating 
 integer x the x-position of the floating window; 0, if it hasn't been floating yet 
 integer y the y-position of the floating window; 0, if it hasn't been floating yet 
 integer width the width of the floating window; 0, if it hasn't been floating yet 
 integer height the height of the floating window; 0, if it hasn't been floating yet 

Parameters:
 string FXStateChunk the FXStateChunk, from whose fx you want to return the FLOAT/FLOATPOS-entry 
 integer fxid the fx, whose FLOAT/FLOATPOS-entryvalues you want to return 


^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ GetFXGuid_FXStateChunk

Functioncall:

string guid = ultraschall.GetFXGuid_FXStateChunk(string FXStateChunk, integer fxid)

Description:
returns the FXID-entryvalues of a specific fx from an FXStateChunk, which is the guid of the fx.

returns nil in case of an error

Returnvalues:
 string guid the guid of the fx 

Parameters:
 string FXStateChunk the FXStateChunk, from whose fx you want to return the guid-entry 
 integer fxid the fx, whose guid you want to return 


^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ GetWndRect_FXStateChunk

Functioncall:

integer x, integer y, integer width, integer height = ultraschall.GetWndRect_FXStateChunk(string FXStateChunk, integer fxid)

Description:
returns the WNDRECT-entryvalues from an FXStateChunk.

These are the window-positions of the fx-chain, when the window is floating.

returns nil in case of an error

Returnvalues:
 integer x the x-position of the floating window; 0, if it hasn't been floating yet 
 integer y the y-position of the floating window; 0, if it hasn't been floating yet 
 integer width the width of the floating window; 0, if it hasn't been floating yet 
 integer height the height of the floating window; 0, if it hasn't been floating yet 

Parameters:
 string FXStateChunk the FXStateChunk, whose floating-window-position you want to get 


^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ GetShow_FXStateChunk

Functioncall:

integer showstate = ultraschall.GetShow_FXStateChunk(string FXStateChunk, integer fxid)

Description:
returns the SHOW-entryvalues from an FXStateChunk.

This shows, whether the fxchain is currently shown and which fx is visible in Reaper's UI.

returns nil in case of an error

Returnvalues:
 integer shownstate 0, the fx-chain is not shown; 1, first fx is shown; 2, second fx is shown, etc 

Parameters:
 string FXStateChunk the FXStateChunk, whose show-state you want to get 


^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ GetLastSel_FXStateChunk

Functioncall:

integer last_selected_fx = ultraschall.GetLastSel_FXStateChunk(string FXStateChunk, integer fxid)

Description:
returns the LASTSEL-entryvalues from an FXStateChunk.

returns nil in case of an error

Returnvalues:
 integer last_selected_fx the last selected fx; 1, the first fx; 2, the second fx; 3, the third fx 

Parameters:
 string FXStateChunk the FXStateChunk, whose last-selected-fx you want to get 


^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ GetDocked_FXStateChunk

Functioncall:

integer dockstate = ultraschall.GetDocked_FXStateChunk(string FXStateChunk, integer fxid)

Description:
returns the DOCKED-entryvalues from an FXStateChunk.

returns nil in case of an error

Returnvalues:
 integer dockstate 0, undocked; 1, docked 

Parameters:
 string FXStateChunk the FXStateChunk, whose dockstate you want to get 


^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ GetAllCustomMarkerNames

Functioncall:

integer count, table custom_marker_names = ultraschall.GetAllCustomMarkerNames()

Description:
Will return all names of all available custom-markers.

Returnvalues:
 integer count the number of found markers; -1, in case of an error 
 table custom_marker_names a table with all found custom-markernames.  



^ Reaper version 6.02Ultraschall version 4.2Lua version 5.3 ^ GetAllCustomRegionNames

Functioncall:

integer count, table custom_region_names = ultraschall.GetAllCustomRegionNames()

Description:
Will return all names of all available custom-regions.

Returnvalues:
 integer count the number of found markers; -1, in case of an error 
 table custom_region_names a table with all found custom-regionnames.  



^ Reaper version 6.19Ultraschall version 4.2Lua version 5.3 ^ SetFXBypass_FXStateChunk

Functioncall:

string FXStateChunk = ultraschall.SetFXBypass_FXStateChunk(string FXStateChunk, integer fxid, integer bypass, integer offline, integer unknown)

Description:
sets the fx-BYPASS-entry of a specific fx within an FXStateChunk, which allows setting online/offline and bypass-settings.

returns nil in case of an error

Returnvalues:
 string FXStateChunk the altered FXStateChunk with the new BYPASS-state 

Parameters:
 string FXStateChunk the FXStateChunk, into which you want to set the new bypass-state 
 integer fxid the fx, whose bypass-state you want to set 
 integer bypass 0, non-bypassed; 1, bypassed 
 integer offline 0, online; 1, offline 
 integer unknown unknown; default is 0 


^ Reaper version 6.19Ultraschall version 4.2Lua version 5.3 ^ SetShow_FXStateChunk

Functioncall:

string FXStateChunk = ultraschall.SetShow_FXStateChunk(string FXStateChunk, integer showstate)

Description:
sets the shown-plugin of an FXStateChunk.

It is the SHOW-entry

returns nil in case of an error

Returnvalues:
 string FXStateChunk the altered FXStateChunk with the new SHOW-state 

Parameters:
 string FXStateChunk the FXStateChunk, into which you want to set the new shown-fx-state 
 integer showstate the fx shown; 1, for the first fx; 2, for the second fx; etc 


^ Reaper version 6.19Ultraschall version 4.2Lua version 5.3 ^ SetWndRect_FXStateChunk

Functioncall:

string FXStateChunk = ultraschall.SetWndRect_FXStateChunk(string FXStateChunk, integer x, integer y, integer w, integer h)

Description:
sets the docked-state of an FXStateChunk.

It is the WNDRECT-entry

returns nil in case of an error

Returnvalues:
 string FXStateChunk the altered FXStateChunk with the new WNDRECT-state 

Parameters:
 string FXStateChunk the FXStateChunk, into which you want to set the new undocked-windowposition-state 
 integer x the x-position of the undocked window 
 integer y the y-position of the undocked window 
 integer w the width of the window-rectangle 
 integer h the height of the window-rectangle 


^ Reaper version 6.19Ultraschall version 4.2Lua version 5.3 ^ SetDocked_FXStateChunk

Functioncall:

string FXStateChunk = ultraschall.SetDocked_FXStateChunk(string FXStateChunk, integer docked)

Description:
sets the docked-state of an FXStateChunk.

It is the DOCKED-entry

returns nil in case of an error

Returnvalues:
 string FXStateChunk the altered FXStateChunk with the new DOCKED-state 

Parameters:
 string FXStateChunk the FXStateChunk, into which you want to set the new last-selected-fx-state 
 integer docked the docked-state of the fx-chain-window; 0, undocked; 1, docked 


^ Reaper version 6.19Ultraschall version 4.2Lua version 5.3 ^ SetLastSel_FXStateChunk

Functioncall:

string FXStateChunk = ultraschall.SetLastSel_FXStateChunk(string FXStateChunk, integer lastsel)

Description:
sets the last selected-plugin of an FXStateChunk.

It is the LASTSEL-entry

returns nil in case of an error

Returnvalues:
 string FXStateChunk the altered FXStateChunk with the new LASTSEL-state 

Parameters:
 string FXStateChunk the FXStateChunk, into which you want to set the new last-selected-fx-state 
 integer lastsel the last fx selected; 1, for the first fx; 2, for the second fx; etc 


^ Reaper version 6.19Ultraschall version 4.2Lua version 5.3 ^ SetFXGuid_FXStateChunk

Functioncall:

string FXStateChunk = ultraschall.SetFXGuid_FXStateChunk(string FXStateChunk, integer fxid, string guid)

Description:
sets the fx-FXID-entry of a specific fx within an FXStateChunk, which holds the guid for this fx.

returns nil in case of an error

Returnvalues:
 string FXStateChunk the altered FXStateChunk with the new BYPASS-state 

Parameters:
 string FXStateChunk the FXStateChunk, into which you want to set the new gui 
 integer fxid the fx, whose guid you want to set 
 string guid a guid for this fx; use reaper.genGuid to create one 


^ Reaper version 6.19Ultraschall version 4.2Lua version 5.3 ^ SetFXFloatPos_FXStateChunk

Functioncall:

string FXStateChunk = ultraschall.SetFXFloatPos_FXStateChunk(string FXStateChunk, integer fxid, boolean floating, integer x, integer y, integer w, integer h)

Description:
sets the fx-FXID-entry of a specific fx within an FXStateChunk, which manages floatstate and position of the floating-fx-window.

Note: when committing it to a track/item of an opened project, keep in mind that setting floating=false will have no effect.
You will also need to commit a TrackStateChunk/ItemStateChunk twice, as in the first commit, w and h will be ignored if the fx isn't already floating.
This is probably due a Reaper bug and I can't fix it in here, sorry.

returns nil in case of an error

Returnvalues:
 string FXStateChunk the altered FXStateChunk with the new BYPASS-state 

Parameters:
 string FXStateChunk the FXStateChunk, into which you want to set the new bypass-state 
 integer fxid the fx, whose bypass-state you want to set 
 boolean floating true, window is floating; false, window is not floating 
 integer x the x-position of the floating-window 
 integer y the y-position of the floating-window 
 integer w the width of the window(will be ignored, when committing changed statechunk only once to current project's track/item) 
 integer h the height of the window(will be ignored, when committing changed statechunk only once to current project's track/item)  



Automatically generated by Ultraschall-API 4.2 003 - 1392 functions and 6 Api-variables available